我想做的是将csv文件加载到数据库中。但是我有一个问题,因为重复的条目。
我正在使用PHP脚本来加载文件。
$sql = "LOAD DATA INFILE '" . $target_path;
$sql.= "' INTO TABLE dummy ";
$sql.= "COLUMNS TERMINATED BY ','";
$sql.= "OPTIONALLY ENCLOSED BY ''"'";
$sql.= "ESCAPED BY ''"'";
$sql.= "LINES TERMINATED BY ''n'";
$sql.= "IGNORE 1 LINES;";
数据库表结构:
id | firstname | lastname
CSV文件内容。。
id | firstname | lastname
1 John Doe
2 James Carry
3 Luke Borrow
正如预期的那样,"id"是主键。有没有一种方法可以在运行中跳过违反主键约束的值?
LOAD DATA INFILE 'somefile' IGNORE
来自手册:
如果指定IGNORE,则会跳过与唯一键值上的现有行重复的输入行。