Обновление значений строк в MySQL при добавлении новой записи в другую таблицу

Только начинаю изучать sql, не судите строго. Не совсем понимаю, каким образом правильно построить запрос введите сюда описание изображения. В данном бд есть три таблицы, сначала мы создаем заказ(ordering), после чего по его идентификатору начинаем добавлять блюда с помощью таблицы ordering_item, как реализовать методы балансовой стоимости(total_cost) при добавлении новые записи в ordering_item Понимаю, что это реализуется через триггеры, но мой вариант не сработал, т.к. выдает ошибку в строке 7, не совсем понимаю, что именно просит исправить.

CREATE TRIGGER update_total_cost
AFTER INSERT ON ordering_item
FOR EACH ROW
BEGIN
    UPDATE ordering
    SET total_cost = total_cost + (SELECT price FROM item WHERE id = NEW.item_id)
    WHERE id = NEW.ordering_id;
END;

#1064 - У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около '' на строке 7.

К коду выше вылезает ошибка к строке 7, просит проверить на предмет корректного синтаксиса. Был вариант с добавлением таблицы объединения, но тут уже ругаются на первой строчке с "WHERE"

CREATE TRIGGER update_total_cost
AFTER INSERT ON ordering_item
FOR EACH ROW
BEGIN
    UPDATE ordering
    SET total_cost = total_cost + 
    (SELECT price 
     FROM item 
     JOIN ordering_item ON item.ID_item =  ordering_item.ID_item
     JOIN  ordering ON ordering_item.ID_order = ordering.ID_order 
     WHERE ordering_item.ID_item = NEW.ID_item
     )
    WHERE ID_order = NEW.ID_order;
END;

#1064 - У вас ошибка в запросе. Изучите документацию по используемой версии MySQL на предмет корректного синтаксиса около '' на строке 13.

К коду выше вылезает ошибка к строке 13, просит проверить на предмет корректного синтаксиса


Ответы (0 шт):