所以,基本上我有下面的代码来更改 CSV 的日期格式,这样当我导入它时它可以被 MySQL 识别。
LOAD DATA INFILE 'file.csv'
INTO TABLE customer FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'
(
ID, name, @var1, age
)
SET date = STR_TO_DATE(@var1, '%d/%m/%Y')
现在,考虑 ID 是主键。我的 file.csv 得到更新,我想通过再次运行我的代码将其重新加载到 MySQL。相反,仅更新新记录,它给我以下错误消息:
#1062 - Duplicate entry '05' for key 'PRIMARY'
有没有办法忽略相同的ID,只添加不同ID的新记录?
最佳答案
MySQL 不允许重复 PK,因为每个主键
都是一个唯一键
我建议,您可以做的是AUTO_INCRMENT
ID。如果您确实想插入记录而不是更新记录。
此外,请确保插入 .csv 文件时,它不包含任何 ID。因此,您会希望它沿着表格自动填充。
关于mysql - 如何解决加载数据后重复输入 key 'PRIMARY',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45093555/