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

sil*_*r14 0 php mysql database

我试图做的是将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;";
Run Code Online (Sandbox Code Playgroud)

数据库表结构:

id | firstname | lastname
Run Code Online (Sandbox Code Playgroud)

CSV文件内容..

id | firstname | lastname

1  John Doe
2  James Carry
3  Luke Borrow
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,'id'是主键.有没有办法跳过违反主键约束的值?

Wri*_*ken 6

LOAD DATA INFILE 'somefile' IGNORE 
Run Code Online (Sandbox Code Playgroud)

从手册:

如果指定IGNORE,则会跳过复制唯一键值上现有行的输入行.