2016-06-15 62 views
2

我正嘗試使用'ON DUPLICATE KEY UPDATE'語句來更新列時重複的主鍵已在表中。 但即使表具有重複主鍵,它也不會更新列。MYSQL ONDUPLICATE KEY UPDATE ISSUE

下面是'ON DUPLICATE KEY UPDATE'語句。 有什麼問題嗎?

ON DUPLICATE KEY UPDATE authenticated = authenticated 
        and notAuthenticated = notAuthenticated 
        and stoped = stoped 
        and deleted = deleted 
        and updatedDate = now() 

;

回答

4

使用VALUES(Column)與逗號,取代這一切AND

ON DUPLICATE KEY UPDATE authenticated = VALUES(authenticated), 
        notAuthenticated = VALUES(notAuthenticated), 
        stoped = VALUES(stoped), 
        deleted = VALUES(deleted), 
        updatedDate = now() 
+0

謝謝!它工作正常 – happenask

+0

沒問題的隊友,但我認爲你接受了錯誤的答案@happenask :) – sagi

+0

對不起,我現在修復它 – happenask

1

不要使用AND,但使用逗號:

ON DUPLICATE KEY UPDATE 
       authenticated = VALUES(authenticated), 
       notAuthenticated = VALUES(notAuthenticated), 
       stoped = VALUES(stoped), 
       deleted = VALUES(deleted), 
       updatedDate = now() 
+0

你剛纔複製我的答案? – sagi

+0

對不起,我看你是第一個。 順便說一下,你的一個小錯誤。 – verhie