SELECT в UPDATE - MySQL

Узнай цену своей работы

Формулировка задачи:

Добрый день. Есть таблица order Надо найти все строки где order_status_id не равно 5, и у этих строк значение столбца timer уменьшить на 1. Составляю запрос
UPDATE ORDER SET timer=o.timer-1
 
FROM ORDER o WHERE o.order_status_id!=5
но на ms sql запрос отрабатывает на ура, а на mysql ругается на кучу ошибок. подскажите пожалуйста где ошибка? Кавычки какие только и как только не пробовал ставить, так и не понял ошибку.

Решение задачи: «SELECT в UPDATE»

textual
Листинг программы
UPDATE `order` SET 'timer' = 'timer' - 1 WHERE order_status_id <> 5

Объяснение кода листинга программы

  1. Обновляем запись в таблице order
  2. Выбираем поле timer и присваиваем ему значение timer минус 1
  3. Условие WHERE говорит, что нужно обновить только те записи, где order_status_id не равно 5

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5