多批量插入记录时 出现一条 insert into 插入多个相同记录
程序员文章站
2023-12-27 11:10:15
...
多批量插入记录时时不时的 出现一条 insert into 插入多个相同记录,是什么情况.
应该如何解决
应该如何解决
回复讨论(解决方案)
请贴出代码!!!
批量新增的时候,是否循环一次,新增一次,请检查代码。
for($i=0;$i $iaps=$iap[$i];
$daqs=$daq[$i];
$row=mysql_query("select count(*) from `dls` where `iap`='$iaps' "); //检查是否有重复数据
$row=mysql_fetch_row($row);
if($row[0]){continue;}
mysql_query("insert into `dls`(`iap`,`daq`,`kt`) value ('$iaps','$daqs','kt')");
}
循环有问题。
1, 最好办法解决循环。
2,某字段建立一个UNIQUE索引,避免重复插入。
2,用 insert into from dual where not exists 的语句避免重复插入
INSERT INTO [table name] SELECT '[value1]', '[value2]' FROM DUAL
WHERE NOT EXISTS(
SELECT [column1] FROM [same table name]
WHERE [column1]='[value1]'
AND [column2]='[value2]' LIMIT 1
)
最好用事务做,保证一致性。
$row=mysql_fetch_row($row);
var_dump($row);打印结果看看。