mysql中插入数据时Duplicate entry ‘‘ for key ‘PRIMARY‘的解决方案

该问题是插入数据表中遇到键重复
解决方案:
1.使用ignore,如果插入的记录中存在重复值会忽略重复值的该记录行,不影响其他行的插入。

INSERT IGNORE INTO Table_name(…..) VALUES(1,1),(2,2),(3,3);

2.使用replace当插入的记录遇到主键或者唯一重复时先删除表中重复的记录行再插入

REPLACE INTO Table_name() VALUES(1,1),(2,2),(3,3)

3.on duplicate key update后面使用values指的是插入记录的值,而不使用values指的是表的自身值。其后执行的update更新的记录是where重复的主键或唯一键的ID。

NSERT TO Table_name() VALUES(1,1),(1,2) ON DUPLICATE KEY UPDATE NAME1=NAME1+1;

转载原文:https://blog.csdn.net/zhangyr_student/article/details/80119238

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
当在MySQL插入数据遇到"Duplicate entry '0' for key 'PRIMARY'"的错误,这表示你尝试插入数据的主键值与已存在的记录的主键值冲突。要解决这个问题,你可以采取以下几个解决方案: 1. 确保插入数据的主键值是唯一的,不与已存在的记录的主键值重复。 2. 使用REPLACE INTO语句替代INSERT INTO语句。REPLACE INTO语句在插入数据,如果存在主键冲突,则会先删除已存在的记录再插入新的记录,从而解决了主键冲突的问题。例如,你可以使用以下语句进行插入操作: REPLACE INTO table_name (column1, column2, ...) VALUES (value1, value2, ...); 这将在插入数据自动处理主键冲突。 3. 使用INSERT INTO ... ON DUPLICATE KEY UPDATE语句。这个语句在插入数据,如果存在主键冲突,则会执行更新操作而不是插入操作。你可以指定要更新的列和对应的新值。例如: INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...) ON DUPLICATE KEY UPDATE column1=VALUES(column1); 这将在插入数据检查主键冲突,如果存在冲突则更新column1列的值为新的值。 总结起来,你可以通过确保插入数据主键值的唯一性,使用REPLACE INTO语句或INSERT INTO ... ON DUPLICATE KEY UPDATE语句来解决插入数据的主键冲突问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [mysql插入数据Duplicate entry ‘‘ for keyPRIMARY‘的解决方案](https://blog.csdn.net/oykotxuyang/article/details/119346306)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [mysql #1062 –Duplicate entry ‘1’ for keyPRIMARY’](https://download.csdn.net/download/weixin_38545117/13691897)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值