2011-01-16 5 views
1
CREATE TRIGGER event_house_dealed AFTER UPDATE ON house FOR EACH ROW 
BEGIN 
DECLARE finished INT; 
IF NEW.isdeal = 1 THEN 
    SET finished = 1; 
END IF; 
END; 

Le donjon du serveur MySQL direQuel est le problème avec ma syntaxe de déclenchement MYSQL?

erreur SQL (1064): Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version serveur MySQL pour la bonne syntaxe à utiliser près 'IF NEW.isdeal = 1 SET, puis terminé = 1' à la ligne 1

Merci.

Répondre

2

Vous devez changer delimiter avant de définir déclencheur

DELIMITER || 
CREATE TRIGGER event_house_dealed AFTER UPDATE ON house FOR EACH ROW 
BEGIN 
DECLARE finished INT; 
IF NEW.isdeal = 1 THEN 
    SET finished = 1; 
END IF; 
END|| 

Alors bien sûr changer le délimiteur retour à;

DELIMITER ; 

En va de même pour la déclaration des fonctions et des procédures stockées

Questions connexes