HOME | 資料庫 | Mysql 存在即更新語法

Mysql 存在即更新語法

2016/05/26/16:57 , Post in 資料庫 , 評論(0) , 引用(0) , 閱讀(707) , Via 本站原創
當我們在處理資料庫資料的時候,有時候會碰到一種情況

就是當沒有這筆資料時,我們就insert進去

而這筆資料已經存在時,我們就更新相關的欄位

當然用程式先做select這筆資料的key是否存在,在判斷insert還是update也是可以

但是實際上量大的時候,其實是相當的消耗效能的

實際上Mysql本身有提供一個命令可以一次處理完

INSERT INTO `table` (`key`,`data1`, `data2`,) VALUES ('key','data1','data2') ON DUPLICATE KEY UPDATE data1= 'xxx', data2='yyy'

也就是在insert後面加上ON DUPLICATE KEY UPDATE

然後接上我們要更新的資料欄位即可

這樣如果碰到主鍵(key)已經存在的資料,就不會再insert,會直接更新data1以及data2

如果主鍵不存在,就會直接insert

發表評論

暱稱

網址

電郵

開啟HTML 開啟UBB 開啟表情 隱藏 記住我 [登入] [註冊]