Ошибка запроса #1064 при создании триггера MySQL

Рейтинг: 1Ответов: 1Опубликовано: 18.02.2023

Всем привет.

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

В чём может быть проблема? Проблема явно не в отсутствии столбца id, в таблице product. Там такой столбец есть и он ключевой. Не понимаю в чём может быть дело. Все таблицы названы правильно, в таблицах есть нужные столбцы.

Код триггера:

CREATE TRIGGER `delete_product_image` 
BEFORE DELETE ON `product`
FOR EACH ROW
BEGIN
    DELETE FROM `image_product` WHERE `productId` = OLD.`id`;
END;

Также пробовал и такой код:

CREATE TRIGGER delete_product_image 
BEFORE DELETE ON product
FOR EACH ROW
BEGIN
    DELETE FROM image_product WHERE productId = OLD.id;
END

Игрался с запятыми, кавычками, скобками - без толку.

Скрин ошибки

Ответы

▲ 0Принят
DELIMITER $$
CREATE TRIGGER delete_product_image
BEFORE DELETE ON product
FOR EACH ROW
BEGIN
    DELETE FROM image_product WHERE productId = OLD.id;
END $$
DELIMITER ;