【发布时间】:2011-05-10 06:45:37
【问题描述】:
我需要编写一个触发器来在另一个表中创建一条记录。
在我的用户表中,当注册用户回复激活电子邮件时,他们在该表中的状态从 0 更改为 1。发生此更改时,我需要它在另一个具有自动递增 int 主 ID 的表中创建记录(聚会)。
由于用户状态可以是三种不同的状态(未激活 (0)、激活 (1) 和禁止 (-1)),我需要此触发器仅在状态从 0 更改为 1 时触发。
有人可以帮我处理一下这里的 SQL 吗?
【问题讨论】:
我需要编写一个触发器来在另一个表中创建一条记录。
在我的用户表中,当注册用户回复激活电子邮件时,他们在该表中的状态从 0 更改为 1。发生此更改时,我需要它在另一个具有自动递增 int 主 ID 的表中创建记录(聚会)。
由于用户状态可以是三种不同的状态(未激活 (0)、激活 (1) 和禁止 (-1)),我需要此触发器仅在状态从 0 更改为 1 时触发。
有人可以帮我处理一下这里的 SQL 吗?
【问题讨论】:
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 ;
【讨论】: