2011-06-20 69 views
0

我需要做在SQL中這樣的事情,但我不知道如何...MYSQL/else子句

IF *row exists* THEN 
    UPDATE ... 
ELSE 
CREATE ... 

我想不出怎麼做..

+0

你提的問題是非常不確定的。如果一個記錄已經存在於一個表中然後更新記錄,這是否是這樣的?或者如果表不存在,是否創建了一個表? – Suroot

回答

4

INSERT ... ON DUPLICATE KEY UPDATE....REPLACE應該做的伎倆:

對重複密鑰更新 http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html

更換 http://dev.mysql.com/doc/refman/5.0/en/replace.html

+0

+1 NICE ANSWER:P – alex

+0

INSERT INTO lang(ip,lang)VALUES('$ ip','fr')ON DUPLICATE KEY UPDATE SET lang ='fr'WHERE ip ='$ ip';這似乎並不奏效。 – SBSTP

+0

@ user576488,這應該是'INSERT INTO lang(ip,lang)VALUES('$ ip','fr')ON DUPLICATE KEY UPDATE lang ='fr''。這也需要碰撞桌子上的唯一鍵。你的桌子結構是什麼樣的? –