Обновление значений строк в 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, просит проверить на предмет корректного синтаксиса