Триггеры MySQL: от таблицы к таблице

#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 ;