MySQL布尔值 - 翻转值?

时间:2010-08-16 05:19:17

标签: mysql boolean

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

UPDATE table
SET boolean_field = ABS(boolean_field - 1)
WHERE Circle-K = 'Strange things are afoot'

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

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

现在我很好奇这是否可接受恐怖给真正的程序员?

/我是初学者

2 个答案:

答案 0 :(得分:51)

为什么不简单地使用:

UPDATE the_table
   SET boolean_field = NOT boolean_field
WHERE ...

使您的意图更容易阅读

答案 1 :(得分:16)

您还可以使用field = 1 - fieldfield =! field