我有一个将 csv 导入 MySQL 数据库的 PHP 脚本。使用这行代码导入工作正常
$query = "insert into $databasetable values('$linemysql');";
唯一的问题是当我尝试导入另一个带有重复脚本错误的 csv 文件时。如果存在重复项,如何调整此脚本以跳过重复项?
INSERT IGNORE
如果这会导致重复键,则不会插入行。但是,它也会忽略(并且不会产生错误)一些其他情况,例如尝试插入NULL
具有NOT NULL
约束的列。
如果您只想忽略重复项但仍会遇到其他插入错误,请INSERT ... ON DUPLICATE KEY UPDATE
改用。这将使用重复键更新行,尽管会带来一些性能成本。
如果您使用的是 mysql,请尝试:
$query = "insert ignore into $databasetable values('$linemysql');";