#mysql #database #triggers
#mysql #База данных #триггеры
Вопрос:
Мне нужно написать триггер, который создаст запись в другой таблице.
В моей пользовательской таблице, когда регистрирующийся пользователь отвечает на электронное письмо с активацией, их статус в этой таблице меняется с 0 на 1. Когда произойдет это изменение, мне нужно, чтобы оно создало запись в другой таблице, которая имеет автоматически увеличивающийся первичный идентификатор int (Party).
Поскольку статус пользователя может иметь три разных состояния (неактивен (0), активен (1) и запрещен (-1), мне нужно, чтобы этот триггер срабатывал только при изменении статуса с 0 на 1.
Может кто-нибудь, пожалуйста, помочь мне с SQL здесь?
Ответ №1:
DELIMITER $$
CREATE TRIGGER users_status_change AFTER UPDATE on users
FOR EACH ROW BEGIN
IF OLD.Status = 0 AND NEW.Status = 1 THEN
INSERT Party(Name)
VALUES('blar blar');
END IF;
END;
$$
DELIMITER ;