1. 程式人生 > >mysql insert判斷記錄存不存在 存在即更新不存在即插入 DUPLICATE key update

mysql insert判斷記錄存不存在 存在即更新不存在即插入 DUPLICATE key update

當判斷一條記錄是否存在不是唯一的主鍵而是多個條件的時候就懵了啊。。 當這種情況出現時當然還是要用  DUPLICATE key update關鍵詞了  但是但是 是有前提條件的,,因為我們是三個條件判斷記錄是否存在,這個時候必須用到了聯合主鍵,,什麼事聯合主鍵 百度吧  語句是醬紫的:

ALTER TABLE oa_achievement_class ADD UNIQUE (type,name,test_name)

好吧  我知道可能索引過多也不好 但是木有辦法了啊,,,,,,

接下來就可以使用了:

INSERT INTO oa_achievement_class (name,type,test_name,create_by,score) VALUES ('123','1','123','0','93') on  DUPLICATE key update score = VALUES(score)

聯合索引實際上是醬紫用的 

type  and name and test_name  而不是OR 哈

所以這個要記得醬紫