registro - MySQL: Una forma simple de alternar un valor de un campo int
optimizar consultas lentas mysql (8)
En este caso, podría utilizar una operación de tipo XOR:
UPDATE some_table SET an_int_value = an_int_value XOR 1
Esto se supone que un valor_int_int siempre será 1 o 0 sin embargo.
Sé cómo hacerlo, pero creo que lo complicaré demasiado con las selecciones dobles y así sucesivamente.
Cómo puedes hacer esto (ejemplo en pseudo-sql)
UPDATE some_table SET an_int_value = (an_int_value==1 ? 0 : 1);
Debe ser un valor int debido a alguna otra funcionalidad, pero ¿cómo lo hace de una manera simple?
Otra opción:
UPDATE some_table SET an_int_value = ABS(an_int_value - 1);
Para ENUM (0,1) ACTUALIZACIÓN some_table SET an_int_value = IF (an_int_value = ''1'', ''0'', ''1'');
Para los campos ENUM (0,1) puede usar ...
ACTUALIZAR la tabla SET int_value = BINARY (int_value = 1)
Puedo ver las respuestas de todas las personas con experiencia y también me actualicé con sus respuestas.
que hay de esto ... hago de esta manera ...
UPDATE tablename SET fieldname = not fieldname
¿Puede algún organismo dar sugerencias, por favor, si esta no es una solución viable? con respecto a la velocidad de ejecución o cualquier otro ... qué decir ... hecho ... concepto ....
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)