触发语法错误

时间:2012-05-10 19:10:58

标签: mysql triggers

我有两个包含以下列名的表。

用户

ui |电子邮件|通

user_profiles

_email |数量| LVL

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

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

1 个答案:

答案 0 :(得分:1)

您似乎错过了FOR EACH ROW。此外,如果通过MySQL命令行执行此操作,则需要更改DELIMITER,并在插入语句后添加;

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

根据to the CREATE TRIGGER spec,它不是可选的。