1. 程式人生 > >mysql ON DUPLICATE KEY UPDATE,有則更新,無則插入

mysql ON DUPLICATE KEY UPDATE,有則更新,無則插入

1、適合用在需要 判斷記錄是否存在,不存在則插入存在則更新的場景

 a 為 主鍵 或 擁有UNIQUE索引

INSERT INTO TABLE (a,c) VALUES (1,3),(1,8) ON DUPLICATE KEY UPDATE c=c+1;----c=4

INSERT INTO TABLE (a,c) VALUES (1,3),(1,8) ON DUPLICATE KEY UPDATE c=VALUES(c);----c=8

2、已存在記錄(2,2,9)和(3,2,1)

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

變成(2,5,9)和(3,3,1)同時插入資料(1,2,3),(4,8,2)