php - SQL 更新 - 如何切换?

标签 php mysql sql

我想在 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/

相关文章:

sql - 你能在 RDBMS 中 session 化网络日志吗

mysql - SQL Raw 到 mysql 查询

c# - 在连接 Sql Server 数据库时,Java 和 C# 有什么区别?

mysql - MySQL 中的表拆分

mysql - 书架js : How to query specific fields within join statements?

PHP - 带有 Google Gmail OAuth2 API 的 ListMessages

php - 如何像mysql结构一样在redis中存储数据或者按值搜索redis数据

php mysql while循环查询优化

PHP - 如何创建换行符?

php - 如果网站出现错误,如何清除缓存