参考文章:mysql “ON DUPLICATE KEY UPDATE” 语法
ON DUPLICATE KEY UPDATE
开发过程中,可能会遇到这样的需求,先判断某一记录是否存在,如果不存在,添加记录,如果存在,则修改数据。在INSERT语句末尾指定ON DUPLICATE KEY UPDATE可以解决这类问题。
其用法如下:如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE
,并且插入行后会导致在一个UNIQUE索引
或PRIMARY KEY
中出现重复值,则在出现重复值的行执行UPDATE操作,如果不会导致唯一值重复的问题,则执行INSERT操作。
作用
当insert
已经存在的记录时,执行update
(将原有的记录修改了,而不是执行插入)
使用示例
member
表结构
执行语句:
INSERT INTO `member` (id, name, sex, age, tid) VALUES (6, 'same',0 , 88, 4) ON DUPLICATE KEY UPDATE age = 123;