Мне нужно создать триггер в моей базе данных. Триггер должен иметь возможность анализировать событие перед вставкой. В случае, если последнее событие, уже существующее в базе данных, имеет одинаковый статус, триггер должен отменить вставку и обновить последнее событие.MySQL и триггер перед вставкой
Я попытался создать один, но я не могу добавить его в моей базе данных из-за ошибок MySQL:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 5
Здесь триггер:
CREATE TRIGGER events_before_insert
BEFORE INSERT ON monitoringV2.events
FOR EACH ROW
BEGIN
DECLARE id_last_event;
DECLARE status_last_event;
SELECT id INTO id_last_event, status INTO status_last_event FROM events WHERE module_id=NEW.module_id ORDER BY serverDate DESC LIMIT 1;
IF NEW.status = status_last_event THEN
UPDATE events SET serverDate=NOW() WHERE id=id_last_event;
signal sqlstate '00000' set message_text = "Update instead of insert";
END IF;
END;
Вот информационный сервер:
PHP 5.4.6 VC9
Apache 2.4.2 VC9
MySQL 5.5.27
PhpMyAdmin 3.5.2.2
Спасибо за вашу помощь
С уважением,
Dorine М.