我需要爲MySQL編寫SQL查詢,以便行更新(如果存在),但如果不存在則插入。SQL查詢 - 如果存在更新,則插入,否則插入
即
如果行存在...
UPDATE Table1 SET (...) WHERE Column1='SomeValue'
如果它不存在...
INSERT INTO Table1 VALUES (...)
這能在一個查詢做了什麼?
我需要爲MySQL編寫SQL查詢,以便行更新(如果存在),但如果不存在則插入。SQL查詢 - 如果存在更新,則插入,否則插入
即
如果行存在...
UPDATE Table1 SET (...) WHERE Column1='SomeValue'
如果它不存在...
INSERT INTO Table1 VALUES (...)
這能在一個查詢做了什麼?
我相信你需要扭轉你的邏輯,以便爲它工作:
插入表 - 如果存在(相同的密鑰),然後對其進行更新。
這可以通過ON DUPLICATE
語句,像這樣來實現:
INSERT INTO Table1 VALUES(...)
ON DUPLICATE KEY UPDATE column=column+1
檢查手冊here
非常巧妙。就是我以後的樣子。謝謝。 – Urbycoz 2011-03-14 09:58:08
太棒了。雖然這篇文章是舊的,但它是超級有用的。你搖滾。 – kmarks2 2012-02-09 20:18:34