2013-03-18 156 views
0

我有一行MySQL,我想使用CASE語句。但是,我認爲我沒有做對。我需要檢查標誌是否設置爲特定值,然後根據設置的標誌更新該標誌。這裏是我的MySQL:MySQL:CASE語句問題

$sql = 'UPDATE table SET flag = CASE WHEN flag = 2 THEN 0 ELSE flag = 3'

是不是有效的SQL?我想要做的是如果標誌設置爲2的值,將其設置爲0,否則將其設置爲3.我該如何修復我的SQL,以便它這樣做?

+0

嘗試在命令末尾添加'END'。 – 2013-03-18 19:39:17

回答

1

您當前的查詢非常接近,該代碼將是:

UPDATE table 
SET flag = CASE WHEN flag = 2 THEN 0 ELSE 3 END 

這將更新flag0flag等於2,如果它不等於2,則值將更新至3

+0

哦,我忘了END了。好的,謝謝@ bluefeet。 – sehummel 2013-03-18 19:42:39