0

嗨,我正在尝试创建以下触发器

CREATE TRIGGER TRIGBEFORE INSERT ON 员工为每一行开始更新员工 SET userId = userId +1 WHERE userId >1; 结尾

它给了我下面的mysql错误,请指出其中有什么问题。

1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 5 行的 '' 附近使用正确的语法

4

2 回答 2

2

您忘记设置分隔符并拼错了一个单词:

delimiter |
CREATE TRIGGER TRIG BEFORE INSERT ON employee 
FOR EACH ROW BEGIN 
    UPDATE employee SET userId = userId +1 WHERE userId >1; 
END;
|
delimiter ;

如果您没有设置另一个分隔符,;则语句将在第一个结束;,您的触发器定义将不完整。你需要告诉 MySQL 语句应该在你定义的分隔符处结束。之后,您可以使用delimiter ;

于 2012-08-01T09:40:04.533 回答
0

我认为你有一个拼写错误TRIGBEFOREmanual here

CREATE TRIGGER trigger_name BEFORE INSERT ON ...
于 2012-08-01T09:38:39.403 回答