Heim >Backend-Entwicklung >PHP-Tutorial >多批量插入记录时 出现一条 insert into 插入多个相同记录

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

WBOY
WBOYOriginal
2016-06-23 14:24:251303Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:正则匹配Nächster Artikel:正则采集问题,求解,在线等