mysql 批量更新,沒有就插入


https://www.cnblogs.com/zjdxr-up/p/8319982.html

 

在實際應用中,經常碰到導入數據的功能,當導入的數據不存在時則進行添加,有修改時則進行更新,

在剛碰到的時候,第一反應是將其實現分為兩塊,分別是判斷增加,判斷更新,后來發現在mysql中有

ON DUPLICATE KEY UPDATE一步就可以完成,感覺實在是太方便了,

       該語句是基於唯一索引或主鍵使用,比如一個字段a被加上了unique index,並且表中已經存在了一條記錄值為1,

下面兩個語句會有相同的效果:

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

 ON DUPLICATE KEY UPDATE后面可以放多個字段,用英文逗號分割。

再現一個例子:

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

表中將更改(增加或修改)兩條記錄。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM