MySQL Установить для всех значений столбца значение 0, кроме id 4 - PullRequest
0 голосов
/ 10 июля 2020

Я хочу установить для всех значений столбца значение 0, кроме id 4. Можно ли сделать это в одном запросе?

Я хочу что-то вроде этого:

UPDATE table 
SET value = 0 
WHERE id != 4 and SET value = 1 WHERE id = 4

Любая помощь приветствуется.

Ответы [ 4 ]

1 голос
/ 10 июля 2020

Вы также можете использовать оператор if. Если id = 4 истинно, тогда установите значение = 1, иначе установите значение = 0. Надеюсь, это может вам помочь.

Update table set value = if(id=4, 1,0)
1 голос
/ 10 июля 2020

Установите значение, равное id = 4, которое является логическим выражением, которое оценивается как 1, если оно равно true или 0, если оно равно false:

UPDATE table SET value = (id = 4)
1 голос
/ 10 июля 2020

Используйте выражение case:

update mytable
set value = case id when 4 then 1 else 0 end
0 голосов
/ 10 июля 2020

ОБНОВЛЕНИЕ таблицы SET (значение = 0 WHERE id! = 4), (value = 1 WHERE id = 4)

...