创建mysql触发器有什么问题

时间:2012-08-01 09:36:27

标签: mysql

您好我正在尝试创建以下触发器

创建TRIGGER TRIGBEFORE INSERT ON员工 每个 行 开始 UPDATE员工SET userId = userId +1 WHERE userId> 1; END

它给我下面的mysql错误,请说明它有什么问题。

1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以便在第5行

附近使用正确的语法

2 个答案:

答案 0 :(得分: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 ;

设置分隔符

答案 1 :(得分:0)

我认为你有错字错误TRIGBEFOREmanual here

CREATE TRIGGER trigger_name BEFORE INSERT ON ...