程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL中ONDUPLICATEKEYUPDATE使用

MySQL中ONDUPLICATEKEYUPDATE使用

編輯:MySQL綜合教程

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

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

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

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

      INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c = c + 1,b = b - 1;
      UPDATE table SET c = c + 1,b = b - 1 WHERE a = 1;

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

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

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

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

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

注意:ON DUPLICATE KEY UPDATE只是MySQL的特有語法,並不是SQL標准語法!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved