0

我有一行 MySQL,我想在其中使用 CASE 语句。但是,我认为我做得不对。我需要检查一个标志是否设置为特定值,然后根据它的设置更新该标志。这是我的MySQL:

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

那是有效的 SQL 吗?我想要做的是,如果标志设置为值 2,则将其设置为 0,否则将其设置为 3。如何修复我的 SQL 使其执行此操作?

4

1 回答 1

1

您当前的查询非常接近,代码将是:

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

这将在 等于 时将列更新为,flag如果不等于,则将值更新为。0flag223

于 2013-03-18T19:39:13.840 回答