INSERT INTO TABLE (a,c) VALUES (1,3) ON DUPLICATE KEY UPDATE c=c+1; UPDATE TABLE SET c=c+1 WHERE a=1;若是行做爲新記錄被插入,則受影響行的值顯示1;若是原有的記錄被更新,則受影響行的值顯示2。
1.INSERT INTO TABLE (a,c) VALUES (1,3),(1,7) ON DUPLICATE KEY UPDATE c=c+1;
執行後, c 的值會變爲 4 (第二條與第一條重複, c 在原值上+1).
2.INSERT INTO TABLE (a,c) VALUES (1,3),(1,7) ON DUPLICATE KEY UPDATE c=VALUES(c);
執行後, c 的值會變爲 7 (第二條與第一條重複, c 在直接取重複的值7).