一、前言
在日常业务开发中经常有这样一个场景,首先创建一条记录,然后插入到数据库;如果数据库已经存在同一主键的记录,则执行update操作,如果不存在,则执行insert操作;
这个操作可以在业务层做,...ON DUPLICATE KEY UPDATE就可以做这个事情,并且是原子性操作
二、INSERT ......ON DUPLICATE KEY UPDATE命令
2.1单条记录下使用
INSERT INTO t1 (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE...2.2多记录下使用
INSERT INTO t1 (a,b,c) VALUES (1,2,3),(4,5,6)
ON DUPLICATE KEY UPDATE c=VALUES(c);