如何将csv文件内容加载到mysql数据库并避免重复输入


how to load csv file content to mysql database and avoid duplicate entry?

我想做的是将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,则会跳过与唯一键值上的现有行重复的输入行。