我想在 SQL 更新语句中创建一个“切换”效果。如果“重要”的值为 1
,则查询应将其更新为 0
,反之亦然。如果值为 0
,查询应在数据库中将其更新为 1
。
UPDATE items SET important = case when 0 then 1 else 0 end WHERE id = x
最佳答案
使用算术:
UPDATE items
SET important = 1 - important
WHERE id = x;
但是,您的代码也应该有效。
也许 MySQL 中更好的方法是使用 NOT
:
UPDATE items
SET important = NOT important
WHERE id = x;
这在其他数据库中不起作用,但它在 MySQL 中起作用,因为它将数字视为 bool 上下文中的 bool 值,1 表示真,0 表示假。
关于php - SQL 更新 - 如何切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56444354/