我想在SQL更新语句中创建一个“切换”效果。如果值为“ important”,1则查询应将其更新为0,反之亦然。如果值是0查询,则应将其更新到1数据库中。
UPDATE items SET important = case when 0 then 1 else 0 end WHERE id = x
Run Code Online (Sandbox Code Playgroud)
使用算术:
UPDATE items
SET important = 1 - important
WHERE id = x;
Run Code Online (Sandbox Code Playgroud)
但是,您的代码也应该起作用。
也许在MySQL中更好的方法是使用NOT:
UPDATE items
SET important = NOT important
WHERE id = x;
Run Code Online (Sandbox Code Playgroud)
这在其他数据库中不起作用,但是在MySQL中起作用,因为它在布尔上下文中将数字视为布尔值,其中1表示true,0表示false。
| 归档时间: |
|
| 查看次数: |
70 次 |
| 最近记录: |