mysql - 如何解决加载数据后重复输入 key 'PRIMARY'

标签 mysql sql csv phpmyadmin

所以,基本上我有下面的代码来更改 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/

相关文章:

php - 如何从 MySQL 的多个表中选择最小的数字?

php - 解析日期以从 php 存储在 mysql DATETIME 中

Python Pandas - 读取包含多个表的 csv 文件

mysql - 无法理解涉及不同表的不同列的 SQL 查询中的控制流

php - 为什么不下单

mysql - 数据库表结构

sql - SQL结果的部分转置

sql - 我将如何编写这个 3 级深度 mysql 查询?

python - 如何将不同长度的列表字典写入 csv?

php - 使用 PHP 跳过 csv 的特定行和列