@Vampire016

Как обновить таблицу по одной строке с выбором условий CASE?

Написал запрос на обновление поля `DateClose` в таблице `Work`, которая в зависимости от наличия или же отсутствия значения в поле `DateClose` по индексу `Work`.id = 6, должна менять значения с NULL на '2021-04-26 21:34:30' и обратно...

При выполнении выдает совпадение по одной строчке (как и предполагалось) но никаких изменений не происходит. В чем я ошибся?

UPDATE `Work` SET `DateClose` = ( CASE `DateClose` WHEN `DateClose` IS NULL THEN `DateClose` = '2021-04-26 21:34:30' ELSE `DateClose` = NULL END ) WHERE `Work`.id = 6;

У поля `DateClose` формат DateTime...

Заранее благодарю
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
@galaxy
UPDATE `Work`
   SET `DateClose` = ( CASE WHEN `DateClose` IS NULL THEN '2021-04-26 21:34:30' END )
 WHERE `Work`.id = 6;

Ошибся много в чем. Почитай внимательно про CASE оператор (не путать с CASE statement - это не твой случай)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы