2010-11-19 4 views
0

Je ne peux pas comprendre pourquoi cette syntaxe de création de déclenchement échoue:MySQL erreur de syntaxe sur SET lors de la définition d'un déclencheur

CREATE TRIGGER mytrigger BEFORE UPDATE ON mytable 
FOR EACH ROW 
BEGIN 
    IF NEW.col1 = 0 AND NEW.col2 != '' AND NEW.col3 > 0 THEN 
     SET NEW.col1 = NEW.col3 - (10 * 60); 
    END IF; 
END; 

MySQL dit qu'il ya une erreur de syntaxe à la ligne 5, juste avant/sur l'instruction SET. J'utilise MySQL 5.0.27. Je ne peux pas voir ce qui ne va pas, vu que c'est à peu près identique à l'exemple donné in the manual 3/4s down. PS: J'entre cela dans l'onglet SQL sur PhpMyAdmin. Ajouter des instructions "delimiter" n'aide pas. Des indices? Merci d'avance!

+0

Cela me semble bien, autre que le délimiteur. La ligne 5 est le premier point-virgule, qui me dit encore "délimiteur", mais étant donné votre P.S. Je ne vais pas afficher cela comme une réponse. –

Répondre

0

Je l'ai trouvé. Apparemment, PhpMyAdmin ignore la commande de délimitation de MySQL lorsqu'elle est entrée dans le cadre d'une requête SQL. Au lieu de cela, vous devez définir le délimiteur dans un champ de formulaire distinct sous la requête SQL. J'ai totalement raté ça!

Questions connexes