首页技术博客 服务器运维 正文

mysql中插入数据时Duplicate entry '' for key 'PRIMARY'的解决方案,合并表出现主键重复的解决方案!

12个月前 ( 04-24 ) 752 0条评论

该问题是插入数据表中遇到键重复


1. IGNORE

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

使用IGNORE,如果插入的记录中存在重复值会忽略重复值的该记录行,不影响其他行的插入。


2.REPLACE

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

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


3.*ON DUPLICATE KEY UPDATE *NAME1=VALUES(ID)+1

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


ON DUPLICATE KEY UPDATE后面使用VALUES指的是插入记录的值,而不使用VALUES指的是表的自身值。其后执行的UPDATE更新的记录是WHERE重复的主键或唯一键的ID。

以上三种方法均支持标准的INSERT语法,包括INSERT INTO…VALUES,INSERT INTO…SET,INSERT INTO…SELECT


文章版权及转载声明

本文作者:符文浩 网址:http://fuwenhao.com/post/274.html发布于 12个月前 ( 04-24 )
文章转载或复制请以超链接形式并注明出处。

发表评论

评论列表 (暂无评论,752人围观)参与讨论

还没有评论,来说两句吧...

取消
支付宝二维码
支付宝二维码
微信二维码