2012-04-20 109 views
2

我有一个将csv导入到MySQL数据库的PHP脚本。进口使用此行代码使用PHP将CSV导入到MySQL跳过重复项

$query = "insert into $databasetable values('$linemysql');"; 

唯一的问题是,当我尝试导入的CSV与重复的脚本错误进行正常工作。如何调整此脚本以跳过存在的重复项?

回答

4

INSERT IGNORE将不插入一行是否会导致重复键。但是,它也会忽略(并且不会产生错误)其他一些情况,比如尝试将NULL插入到具有约束条件的列中。

如果您只是想忽略重复但仍然出现其他插入错误,请改为使用INSERT ... ON DUPLICATE KEY UPDATE。这将使用重复密钥来更新行,但会带来一些性能成本。

+0

不知道那些关键字+1 :) – dmp 2012-04-20 10:28:10

+0

完美,谢谢! – 2012-04-20 10:36:34

2

如果你正在使用MySQL尝试:

$query = "insert ignore into $databasetable values('$linemysql');";