Создать синтаксическую ошибку триггера при вставке триггера

0

Я пытаюсь создать триггер таким образом, что если есть какие-либо изменения в конкретном столбце таблицы, тогда событие должно быть создано в другом. Я использую следующий sql-запрос для этого

CREATE TRIGGER enabled_update BEFORE UPDATE ON useraccount 
FOR EACH ROW     
BEGIN
    IF (NEW.enabledAccount != OLD.enabledAccount) THEN
       INSERT INTO logEvents
       SET NEW.event = OLD.employeeID;
    END IF;
END;

Но я получаю следующую ошибку, когда пытаюсь запустить этот запрос. Ошибка в запросе (1064): ошибка синтаксиса рядом с '' в строке 6 и ошибка в запросе (1064): ошибка синтаксиса около "END IF" в строке 1. Где я ошибаюсь?

Теги:
triggers

1 ответ

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

Используйте команду DELIMITER, см. 23.1 Определение хранимых программ.

DROP TRIGGER IF EXISTS 'enabled_update';

DELIMITER //

CREATE TRIGGER 'enabled_update'
  BEFORE UPDATE ON 'useraccount'
FOR EACH ROW     
BEGIN
    IF (NEW.'enabledAccount' != OLD.'enabledAccount') THEN
       INSERT INTO 'logEvents'
       SET 'event' = OLD.'employeeID';
    END IF;
END//

DELIMITER ;

Ещё вопросы

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