天天看點

MySQL中ON DUPLICATE KEY UPDATE使用

今天做判斷插入用到了MySQL中ON DUPLICATE KEY UPDATE,現在Mark以下!

如果你想做到資料庫中沒有資料的話插入資料、有資料的話更新資料,那麼你可以選擇ON DUPLICATE KEY UPDATE。

ON DUPLICATE KEY UPDATE能夠在UNIQUE索引或PRIMARY KEY存在的情況下對舊行執行UPDATE操作。

例如:如果列a被定義為UNIQUE,并且包含值1,則以下兩個語句具有相同的效果:

例如:如果INSERT多行記錄(假設 a 為主鍵或 a 是一個 UNIQUE索引列): 

執行後,c 的值會變為 4 (第二條與第一條重複, c 在原值上+1)。

執行後,c 的值會變為 7 (第二條與第一條重複, c 在直接取重複的值7)。

注意:ON DUPLICATE KEY UPDATE隻是MySQL的特有文法,并不是SQL标準文法! 

官方文檔參照:dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#insert

繼續閱讀