Синтаксическая ошибка MySQL на SET при определении триггера

0

Я не могу понять, почему синтаксис создания триггера не работает:

CREATE TRIGGER mytrigger BEFORE UPDATE ON mytable
FOR EACH ROW
BEGIN
    IF NEW.col1 = 0 AND NEW.col2 != '' AND NEW.col3 > 0 THEN
        SET NEW.col1 = NEW.col3 - (10 * 60);
    END IF;
END;

MySQL говорит о синтаксической ошибке в строке 5, непосредственно перед/в инструкции SET. Я использую MySQL 5.0.27. Я не вижу, что неправильно, потому что он почти идентичен приведенному ниже примеру в руководстве 3/4s вниз.

PS: Я вводил это на вкладке SQL на PhpMyAdmin. Добавление инструкций "разделитель" не помогает. Любые подсказки? Спасибо заранее!

  • 0
    Это выглядит хорошо для меня, кроме разделителя. Строка 5 - первая точка с запятой, которая снова говорит мне «разделитель», но, учитывая ваш PS, я не буду публиковать это как ответ.
Теги:
triggers

1 ответ

0
Лучший ответ

Я нашел его. По-видимому, PhpMyAdmin игнорирует команду MySQL delimiter при вводе как часть SQL-запроса. Вместо этого вам нужно установить разделитель в отдельном поле формы под SQL-запросом. Я полностью пропустил это!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню