2010-10-10 7 views
0

Le sql je l'ai écritMysql créer déclencheur 1064 erreur

**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 ;** 

L'erreur donnée

[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** 

Comment résoudre ce problème? où est l'erreur que je fais?

Répondre

3

Il semble que vous deviez simplement terminer votre instruction UPDATE avec un point-virgule.

+0

J'ignore toujours des points-virgules dans sql .. le problème a été résolu grâce. –

0

Essayez ce code

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 ; 
Questions connexes