文章目录
- 1. 错误原因分析
 - 2. 快速解决方法
 - 场景1:手动插入重复值
 - 场景2:自增主键冲突
 - 场景3:批量插入冲突
 
- 3. 长期预防策略
 - 4. 高级排查技巧
 
该错误通常由主键冲突引起,表示尝试插入或更新的主键值已存在于表中。以下是分步排查和解决方法:
1. 错误原因分析
- 主键唯一性约束:表的主键(如 
id)不允许重复值。 - 可能场景: 
- 手动插入已存在的主键值(如 
INSERT INTO users (id, name) VALUES (1, 'Alice'))。 - 自增主键因重置或复制导致冲突(如 
AUTO_INCREMENT值与现有数据重复)。 - 批量操作(如 
INSERT INTO ... SELECT)中包含重复主键。 
 - 手动插入已存在的主键值(如 
 
2. 快速解决方法
场景1:手动插入重复值
- 问题:显式指定了已存在的主键。
 - 解决方案:
-- 检查是否存在该主键 SELECT * FROM your_table WHERE id = 1;-- 若存在,修改插入值或删除原有记录 INSERT INTO your_table (id, name) VALUES (2, 'Alice')