首頁 >後端開發 >php教程 >多批量插入记录时 出现一条 insert into 插入多个相同记录

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

WBOY
WBOY原創
2016-06-23 14:24:251305瀏覽

多批量插入记录时时不时的 出现一条 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