Подтвердить что ты не робот

MySQL: простой способ переключения значения целого поля

Я знаю, как это сделать, но я думаю, что я скомпрометирую его с помощью двойного выбора и т.д.

Как вы можете это сделать (пример в псевдо-sql)

UPDATE some_table SET an_int_value = (an_int_value==1 ? 0 : 1);

Это должно быть значение int из-за некоторых других функций, но как вы делаете это простым способом?

4b9b3361

Ответ 2

UPDATE table SET field = 1 - field

Ответ 3

UPDATE some_table SET an_int_value = IF(an_int_value=1, 0, 1)

Ответ 4

В этом случае вы можете использовать операцию типа XOR:

UPDATE some_table SET an_int_value = an_int_value XOR 1

Предполагается, что значение an_int_value всегда будет равно 1 или 0.

Ответ 5

Я могу видеть ответы всех опытных людей, и я тоже обновил их ответы.

как насчет этого... я делаю этот путь...

UPDATE tablename SET fieldname = not fieldname

может ли любой орган дать предложения, пожалуйста, если это не будет приемлемым решением. в отношении скорости выполнения или любого другого... что сказать... факт... концепция....

Ответ 6

Другая опция:

UPDATE some_table SET an_int_value = ABS(an_int_value - 1);

Ответ 7

Для полей ENUM (0,1) вы можете использовать...

Таблица UPDATE SET int_value = BINARY (int_value = 1)

Ответ 8

Для ENUM (0,1) UPDATE some_table SET an_int_value = IF (an_int_value = '1', '0', '1');