1. 程式人生 > >MYSQL:INSERT INTO .. ON DUPLICATE KEY更新多行記錄,防止主鍵重複

MYSQL:INSERT INTO .. ON DUPLICATE KEY更新多行記錄,防止主鍵重複

如果行作為新記錄被插入,則受影響行的值為1;如果原有的記錄被更新,則受影響行的值為2。
如果你想了解更多關於INSERT INTO .. ON DUPLICATE KEY的功能說明,詳見MySQL參考文件:13.2.4. INSERT語法

現在問題來了,如果INSERT多行記錄, ON DUPLICATE KEY UPDATE後面欄位的值怎麼指定?要知道一條INSERT語句中只能有一個ON DUPLICATE KEY UPDATE,到底他會更新一行記錄,還是更新所有需要更新的行。這個問題困擾了我很久了,其實使用VALUES()函式一切問題都解決了。