SELECT в UPDATE - MySQL

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

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

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

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

textual
Листинг программы
  1. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут