@danchikraw
Веб-додик

Как выполнить два update в одном, с разными условиями?

У меня есть таблица и в ней есть столбец default, мне нужен такой запрос: обновить строку со значением default = 1, заменив default на 0 и заменить строку со значение id = любое число, заменив на default = 1.
Как выполнить это в одном запросе?
  • Вопрос задан
  • 309 просмотров
Решения вопроса 2
rozhnev
@rozhnev Куратор тега SQL
Fullstack programmer, DBA, медленно, дорого
Как-то так:
UPDATE tbl 
SET default = CASE
    WHEN id = любое число THEN 1
    WHEN default = 1 THEN 0
    ELSE default
END;
Ответ написан
Комментировать
@danchikraw Автор вопроса
Веб-додик
UPDATE `languages`
SET `default` = CASE
WHEN `id` = :id THEN 1
WHEN `default` = 1 THEN 0
END WHERE `id` = :id OR `default` = 1
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы