MySQL —— INSERT 中ON DUPLICATE KEY UPDATE的使用

需求:若是存在則更新,若是不存在則新增。redis

方法:用redis的kv就能夠很容易的實現,在MySQL中也有這樣的功能: INSERT 中ON DUPLICATE KEY UPDATE函數

使用條件:其中a、b、c字段必須有至少一個爲UNIQUE索引或PRIMARY KEY,以便肯定記錄惟一性spa

語句:
INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=4索引

若是行做爲新記錄被插入,則受影響行的值爲1;若是原有的記錄被更新,則受影響行的值爲2table

引用

您能夠在UPDATE子句中使用VALUES(col_name)函數從INSERT...UPDATE語句的INSERT部分引用列值。VALUES()函數只在INSERT...UPDATE語句中有意義,其它時候會返回NULL方法

示例:tab

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

相關文章
相關標籤/搜索