首页 >后端开发 >php教程 >多批量插入记录时 出现一条 insert into 插入多个相同记录

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

WBOY
WBOY原创
2016-06-23 14:24:251301浏览

多批量插入记录时时不时的 出现一条 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);打印结果看看。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn