MySQL布尔值 - 翻转值?

Dre*_*rew 18 mysql boolean

MySQL使用TinyINT作为布尔字段.鉴于0和1的可能选项,我决定翻转这样的值:

UPDATE table
SET boolean_field = ABS(boolean_field - 1)
WHERE Circle-K = 'Strange things are afoot'
Run Code Online (Sandbox Code Playgroud)

所以你要么1 - > 0 - > ABS(0)= 0

或0 - > -1 - > ABS(-1)= 1

现在我很好奇这对真正的程序员来说是可以接受的还是可怕的?

/我是初学者

a_h*_*ame 52

为什么不简单地使用:

UPDATE the_table
   SET boolean_field = NOT boolean_field
WHERE ...

使您的意图更容易阅读


zer*_*kms 17

你也可以使用field= 1 - fieldfield=!field

  • @Pratik:我确定这是一个答案(只要它符合OP的要求),谢谢你的提及. (10认同)