我有两个包含以下列名称的表。
用户
用户界面 |电邮 |通过
user_profiles
_电子邮件 |数量 |等级
我试图确保每次将新用户添加到 users 表时,user_profiles 表都会为新用户创建一个新行。但是它失败了。在阅读了许多示例触发器语句后,我似乎无法找到错误。
CREATE TRIGGER updatUserProfilesTBL AFTER INSERT ON users
BEGIN
INSERT INTO user_profiles (_email)
VALUES (new.email)
END;
最佳答案
看起来您缺少 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 ,它不是可选的。
关于mysql - 触发器语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10540670/