You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL导入CSV报ERROR 1062主键重复错误求助

排查MySQL导入CSV时ERROR 1062 (23000)主键重复问题
  • 检查主键字段类型与CSV数据匹配
    若主键定义为SMALLINT,其最大值恰好是32767,若CSV中主键值超过这个范围会被截断为32767,导致重复。执行DESCRIBE Customers;查看主键字段类型,确认是否为INT或更大类型。

  • 验证LOAD DATA语句的字段映射是否正确
    确保LOAD DATA时指定的字段顺序和CSV列顺序完全一致,避免把电话字段误映射到主键列。示例正确写法:

    LOAD DATA INFILE '/path/to/customers.csv'
    INTO TABLE Customers
    FIELDS TERMINATED BY ',' ENCLOSED BY '"'
    LINES TERMINATED BY '\n'
    (id, name, phone);
    

    若未指定字段顺序,MySQL会按表结构的字段顺序匹配CSV列,极易出现字段错位。

  • 检查CSV文件的格式问题
    查看CSV是否存在隐藏的分隔符、换行符或未正确包裹的特殊字符,导致列偏移(比如某字段含逗号但未用引号包裹,会让电话字段的值被解析到主键列)。可通过文本编辑器直接查看,或用head -n 5 customers.csv(Linux)检查前几行数据的列对应关系。

  • 确认AUTO_INCREMENT初始值
    若主键设置了AUTO_INCREMENT但CSV包含明确主键值,可能引发冲突。执行SHOW CREATE TABLE Customers;查看设置,若CSV手动指定主键值,建议去掉AUTO_INCREMENT,或执行ALTER TABLE Customers AUTO_INCREMENT = 1;重置初始值。

  • 测试单条数据导入
    从CSV中取出前10条数据手动插入表中,定位是否为某条特定数据导致问题。示例插入语句:

    INSERT INTO Customers (id, name, phone) VALUES (xxx, 'xxx', 'xxx');
    

内容的提问来源于stack exchange,提问作者The BATHRM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 03:23:20