2

我有一个将 csv 导入 MySQL 数据库的 PHP 脚本。使用这行代码导入工作正常

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

唯一的问题是当我尝试导入另一个带有重复脚本错误的 csv 文件时。如果存在重复项,如何调整此脚本以跳过重复项?

4

2 回答 2

4

INSERT IGNORE如果这会导致重复键,则不会插入行。但是,它也会忽略(并且不会产生错误)一些其他情况,例如尝试插入NULL具有NOT NULL约束的列。

如果您只想忽略重复项但仍会遇到其他插入错误,请INSERT ... ON DUPLICATE KEY UPDATE改用。这将使用重复键更新行,尽管会带来一些性能成本。

于 2012-04-20T10:25:31.940 回答
2

如果您使用的是 mysql,请尝试:

$query = "insert ignore into $databasetable values('$linemysql');";
于 2012-04-20T10:12:30.570 回答