Почему мой триггер не работает?Ошибка 1064 - PullRequest
0 голосов
/ 24 октября 2018

У меня синтаксическая ошибка в MySql Workbench, но я не могу ее найти ... Правильно ли мой триггер?

CREATE TRIGGER after_delete_user AFTER UPDATE
ON users FOR EACH ROW
BEGIN
    IF NEW.deletionDate != NULL
        THEN
            DELETE FROM requests WHERE user_id = OLD.user_id;
            DELETE FROM appointments WHERE user_id = OLD.user_id;
    END IF;
END;

Спасибо!

1 Ответ

0 голосов
/ 24 октября 2018

Необходимо определить разделитель для чего-то другого, кроме ;.Переопределите его обратно к ; в конце.Для сравнения значений null нам нужно использовать IS NOT NULL

DELIMITER $$

CREATE TRIGGER after_delete_user AFTER UPDATE
ON users FOR EACH ROW
BEGIN
    IF NEW.deletionDate IS NOT NULL
        THEN
            DELETE FROM requests WHERE user_id = OLD.user_id;
            DELETE FROM appointments WHERE user_id = OLD.user_id;
    END IF;
END$$ 

DELIMITER ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...