【发布时间】:2020-07-10 14:59:01
【问题描述】:
我想将除 id 4 之外的列值的所有值设置为 0。是否可以在一个查询中执行此操作?
我想要这样的东西:
UPDATE table
SET value = 0
WHERE id != 4 and SET value = 1 WHERE id = 4
任何帮助将不胜感激。
【问题讨论】:
标签: mysql sql sql-update
我想将除 id 4 之外的列值的所有值设置为 0。是否可以在一个查询中执行此操作?
我想要这样的东西:
UPDATE table
SET value = 0
WHERE id != 4 and SET value = 1 WHERE id = 4
任何帮助将不胜感激。
【问题讨论】:
标签: mysql sql sql-update
将值设置为等于id = 4,这是一个布尔表达式,如果是true,则计算结果为1,如果是false,则计算结果为0:
UPDATE table SET value = (id = 4)
【讨论】:
使用case 表达式:
update mytable
set value = case id when 4 then 1 else 0 end
【讨论】:
您也可以使用 if 语句。如果 id = 4 为真,则设置值 = 1,否则设置值 = 0。希望这对您有所帮助。
Update table set value = if(id=4, 1,0)
【讨论】:
UPDATE 表 SET (value = 0 WHERE id != 4 ),(value = 1 WHERE id = 4)
【讨论】:
Edit 命令解决您的问题