我知道如何做到这一点,但我想我会用双重选择过度复杂化等等.
你怎么能这样做(在伪sql中的例子)
UPDATE some_table SET an_int_value = (an_int_value==1 ? 0 : 1);
由于某些其他功能,它必须是int值,但是如何以简单的方式执行?
UPDATE table SET field = 1 - field
UPDATE some_table SET an_int_value = IF(an_int_value=1, 0, 1);
http://dev.mysql.com/doc/refman/5.1/en/control-flow-functions.html#function_if
UPDATE some_table SET an_int_value = IF(an_int_value=1, 0, 1)
在这种情况下,您可以使用XOR类型操作:
UPDATE some_table SET an_int_value = an_int_value XOR 1
这假设an_int_value总是为1或0.