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
现在我很好奇这是否可接受或恐怖给真正的程序员?
/我是初学者
答案 0 :(得分:51)
为什么不简单地使用:
UPDATE the_table SET boolean_field = NOT boolean_field WHERE ...
使您的意图更容易阅读
答案 1 :(得分:16)
您还可以使用field
= 1 - field
或field
=! field