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
现在我很好奇这对于真正的程序员来说是可接受还是可怕?
/我是初学者
为什么不简单地使用:
更新_表 SET 布尔字段 = NOT 布尔字段 在哪里 ...
让你的意图更容易阅读
您还可以使用
field
= 1 - field
或 field
= ! field
DB::query("UPDATE users SET mobile_verified= IF(mobile_verified='yes', 'no', 'yes') WHERE user_id='$value1' ");