LOAD DATA LOCAL INFILE仅加载一条记录

时间:2013-03-21 14:29:09

标签: mysql load-data-infile

在MySQL中,我使用LOAD DATA LOCAL INFILE,如下所示:

LOAD DATA LOCAL INFILE 'code.csv' 
INTO TABLE MyDB.code FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' LINES TERMINATED BY '\r\n' (code_id,code_name,code_date);

我收到这样的回复:

  

查询正常,1行受影响,2次警告(1.80秒)   记录:665893已删除:0跳过:665892警告:1

我正在使用Ubuntu,MySQL正在localhost上运行。什么导致LOAD DATA LOCAL INFILE命令跳过这些记录?

2 个答案:

答案 0 :(得分:1)

您的验证线路实际上已被\ r \ n终止吗?您是否已导出PROPER CSV,或只是逗号分隔?如果您的值没有正确引用(如您所指定的那样),那么也可能导致导入问题。

您可能想尝试删除换行符规范:

LOAD DATA LOCAL INFILE 'code.csv' INTO TABLE MyDB.code FIELDS TERMINATED BY ',' ENCLOSED BY '"' (code_id,code_name,code_date);

答案 1 :(得分:0)

如果您的表有任何唯一约束,则LOAD DATA命令将跳过违反该约束的行。

此处的问题说明:https://stackoverflow.com/a/20913896/445131

要修复它,请删除该表上的唯一约束,或删除违反该约束的行。