当前位置:Gxlcms > PHP教程 > 多批量插入记录时 出现一条 insertinto插入多个相同记录

多批量插入记录时 出现一条 insertinto插入多个相同记录

时间:2021-07-01 10:21:17 帮助过:20人阅读

多批量插入记录时时不时的 出现一条 insert into 插入多个相同记录,是什么情况.
应该如何解决


回复讨论(解决方案)

请贴出代码!!!
批量新增的时候,是否循环一次,新增一次,请检查代码。

for($i=0;$i<$s;$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);打印结果看看。

人气教程排行