我有一行MySQL,我想使用CASE語句。但是,我認爲我沒有做對。我需要檢查標誌是否設置爲特定值,然後根據設置的標誌更新該標誌。這裏是我的MySQL:MySQL:CASE語句問題
$sql = 'UPDATE table SET flag = CASE WHEN flag = 2 THEN 0 ELSE flag = 3'
是不是有效的SQL?我想要做的是如果標誌設置爲2的值,將其設置爲0,否則將其設置爲3.我該如何修復我的SQL,以便它這樣做?
我有一行MySQL,我想使用CASE語句。但是,我認爲我沒有做對。我需要檢查標誌是否設置爲特定值,然後根據設置的標誌更新該標誌。這裏是我的MySQL:MySQL:CASE語句問題
$sql = 'UPDATE table SET flag = CASE WHEN flag = 2 THEN 0 ELSE flag = 3'
是不是有效的SQL?我想要做的是如果標誌設置爲2的值,將其設置爲0,否則將其設置爲3.我該如何修復我的SQL,以便它這樣做?
您當前的查詢非常接近,該代碼將是:
UPDATE table
SET flag = CASE WHEN flag = 2 THEN 0 ELSE 3 END
這將更新flag
列0
當flag
等於2
,如果它不等於2
,則值將更新至3
。
哦,我忘了END了。好的,謝謝@ bluefeet。 – sehummel 2013-03-18 19:42:39
嘗試在命令末尾添加'END'。 – 2013-03-18 19:39:17