错误1062.在mysql中重复输入

时间:2015-04-09 18:01:14

标签: mysql mysql-error-1062

我有一个MySQL表,其中第1列是主键的模式。 我有一个tsv文件,我需要在此表中插入。现在,tsv重复了主键,因此当我尝试在MySQL表中插入它时会出现错误

ERROR 1062 (23000): Duplicate entry '107664521128181760' for key
'PRIMARY'

如果主键值已经存在,有没有办法,那么它应该忽略并进一步移动以进行下一次插入。

3 个答案:

答案 0 :(得分:2)

您可能正在寻找 INSERT IGNORE INTO 命令。

您可以尝试这样:

INSERT IGNORE INTO yourtablename(col1,col2...)
values(val1,val2,...)

答案 1 :(得分:2)

这取决于您导入数据的方式。

如果您正在使用LOAD DATA INFILE命令,则在命令中使用IGNORE:

LOAD DATA INFILE 'member.tsv'
IGNORE INTO TABLE tbl_member
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
(name, age);

如果您使用的是具有INSERT命令的sql,则在INSERT命令中使用INSERT IGNORE:

INSERT IGNORE INTO yourtablename(col1,col2...)
values(val1,val2,...)

答案 2 :(得分:0)

您可能正在寻找REPLACE查询。

REPLACE INTO Users (Phone, Name, Email) VALUES ( Phone, Name, Email);