您的位置:首页技术文章
文章详情页

MySQL主键冲突时的更新操作和替换操作在功能上有什么差别(如图)

【字号: 日期:2022-06-11 15:47:52浏览:65作者:猪猪

问题描述

MySQL主键冲突时的更新操作和替换操作在功能上有什么差别(如图)

MySQL主键冲突时的更新操作和替换操作在功能上有什么差别(如图)

问题解答

回答1:

INSERT ... ON DUPLICATE KEY UPDATE和REPLACE是有区别的,前者INSERT失败后执行UPDATE,后者相当于DELETE再INSERT,原来整行都消失哦!

具体而言,如果你的表有3列的话:

id name alias1 王五 王二麻子

这两句的效果是不一样的:

INSERT INTO pri (id, name) VALUES (1, ’李四’) ON DUPLICATE KEY UPDATE name = ’李四’REPLACE INTO pri (id, name) VALUES (1, ’李四’)

前者alias没变,后者却会变成null。

回答2:

insert into on duplicate update 是在原纪录上进行操作replace 判断如果有重复的话,先进行删除操作,再进行插入操作

相关文章: