1

我有两个具有以下列名称的表。

用户

用户界面 | 电子邮件 | 经过

用户配置文件

_电子邮件| 数量 | 等级

我试图确保每次将新用户添加到用户表时,user_profiles表都会为新用户创建一个新行。然而它失败了。在阅读了许多示例触发语句后,我似乎找不到错误。

CREATE TRIGGER updatUserProfilesTBL AFTER INSERT ON users
BEGIN
INSERT INTO user_profiles (_email)
VALUES (new.email)
END;
4

1 回答 1

1

看起来你错过了FOR EACH ROW. 此外,您需要更改DELIMITERif 通过 MySQL 命令行执行此操作,并;在插入语句后添加一个。

DELIMITER $$
CREATE TRIGGER updatUserProfilesTBL AFTER INSERT ON users
FOR EACH ROW BEGIN
  INSERT INTO user_profiles (_email)
     VALUES (new.email);
END$$
DELIMITER ;

根据规范,它不是可选的CREATE TRIGGER

于 2012-05-10T19:15:01.893 回答