在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命令跳过这些记录?
答案 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
要修复它,请删除该表上的唯一约束,或删除违反该约束的行。