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
UPDATE table SET field = 1 - field
UPDATE some_table SET an_int_value = IF(an_int_value=1, 0, 1)
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 */
I can see the answers of all experienced people and i too got updated with their answers.
what about this... i do this way...
UPDATE tablename SET fieldname = not fieldname
can any body give suggestions please if this will not be a feasible solution. with respect to execution speed or any other... what to say... fact... concept... .
For ENUM(0,1) UPDATE some_table SET an_int_value = IF(an_int_value='1', '0', '1');
In this case, you could use an XOR type operation:
UPDATE some_table SET an_int_value = an_int_value XOR 1
This is assuming that an_int_value will always be 1 or 0 though.