MySQL: Simple way to toggle a value of an int field

前端 未结 9 1823
忘掉有多难
忘掉有多难 2021-01-30 10:19

I know how to do this, but i think I\'ll overcomplicate it with double selects and so on.

How can you do this (example in pseudo-sql)

UPDATE some_table S         


        
9条回答
  •  不要未来只要你来
    2021-01-30 11:03

    If you're using TINYINT (0 and 1) then do a simply XOR (https://dev.mysql.com/doc/refman/8.0/en/logical-operators.html#operator_xor)

    UPDATE
        `some_table`
    SET
        `an_int_value` = `an_int_value` ^ 1
    

    Testing:

    SELECT 0 ^ 1; /* returns 1 */

    SELECT 1 ^ 1; /* returns 0 */

提交回复
热议问题