MySQL:数据存在则更新,不存在则插入

前提:表结构存在主键或唯一索引,插入数据包含主键或唯一索引而导致记录重复插入失败。

单条记录更新插入:

1
2
INSERT INTO table_name  (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE a=1,b=2,c=3;

多条记录批量更新插入::

1
2
INSERT INTO table_name  (a,b,c) VALUES (1,2,3),(4,5,6) 
ON DUPLICATE KEY UPDATE a=VALUES(a),b=VALUES(b),c=VALUES(c);