mysql的创建触发器1064错误

mysql的创建触发器1064错误

问题描述:

我写mysql的创建触发器1064错误

**delimiter | 
CREATE 
DEFINER=CURRENT_USER 
TRIGGER set_profiletype_after_insert BEFORE INSERT ON trl_translator FOR EACH ROW 
BEGIN 
UPDATE trl_profile SET trl_profile.type = 'translator' WHERE trl_profile.profile_id = NEW.translator_id 
END 
| 
delimiter ;** 

给出

[SQL] 
**CREATE 
DEFINER=CURRENT_USER 
TRIGGER set_profiletype_after_insert BEFORE INSERT ON trl_translator FOR EACH ROW 
BEGIN 
UPDATE trl_profile SET trl_profile.type = 'translator' WHERE trl_profile.profile_id = NEW.translator_id 
END 
; 
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'END' at line 6** 

错误如何解决这种情况的SQL?我做错了哪里?

看起来你只需要用分号来终止你的UPDATE语句。

+0

我忽略总是SQL分号..问题解决了感谢。 – 2010-10-10 15:21:03

试试这个代码

delimiter | 
CREATE 
DEFINER=CURRENT_USER 
TRIGGER set_profiletype_after_insert BEFORE INSERT ON trl_translator FOR EACH ROW 
BEGIN 
UPDATE trl_profile SET trl_profile.type = 'translator' WHERE trl_profile.profile_id = NEW.translator_id; 
END;| 
delimiter ;