我有一行 MySQL,我想在其中使用 CASE 语句。但是,我认为我做得不对。我需要检查标志是否设置为特定值,然后根据设置的内容更新该标志。这是我的 MySQL:
$sql = 'UPDATE 表 SET 标志 = CASE WHEN 标志 = 2 THEN 0 ELSE 标志 = 3'
这是有效的 SQL 吗?我想要做的是,如果标志设置为值 2,则将其设置为 0,否则将其设置为 3。如何修复我的 SQL,使其执行此操作?
最佳答案
您当前的查询非常接近,代码将是:
UPDATE table
SET flag = CASE WHEN flag = 2 THEN 0 ELSE 3 END
当 flag
等于 2
(如果是)时,这会将 flag
列更新为 0
不等于2
,则该值将更新为3
。
关于MySQL:CASE 语句问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15485371/