在不使用SELECT的情况下,在SQL中将布尔值更新为相反的布尔值

Sir*_*Sir 11 mysql sql pdo sql-update

是否有可能升级bool字段,告诉它将字段更新为与其相反的字段而不必选择值 - 检查它然后相应地更新,这看起来很长...

我的意思的一个伪示例

UPDATE `table` SET `my_bool` = opposite_of(my_bool)
Run Code Online (Sandbox Code Playgroud)

目前我必须在一个查询中选择my_bool,然后快速检查其值,以便我可以在第二个查询中更新表.

如果有可能的话,我希望将其减少到一个查询?

Joh*_*Woo 38

使用 NOT

UPDATE `table` SET `my_bool` = NOT my_bool
Run Code Online (Sandbox Code Playgroud)

  • 要等待13分钟才能回答您的问题-如果投票数足够高,则应缩短:P (2认同)

小智 11

UPDATE `Table` SET `my_bool` = 1 ^ `my_bool`
Run Code Online (Sandbox Code Playgroud)

  • 这对我来说是更好的选择,由于某种原因,我在尝试在 INSERT INTO.....SELECT 命令中使用 NOT 时遇到错误,谢谢 (2认同)