2011-01-16 6 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; 

Der MySQL-Server immer wieder sagenWas ist los mit meiner MySQL-Trigger-Syntax?

SQL-Fehler (1064): Sie haben einen Fehler in der SQL-Syntax; das Handbuch, dass zu Ihrem MySQL-Server Version für die richtige Syntax entspricht in der Nähe zu verwenden 'IF NEW.isdeal = 1 THEN SET beendet = 1' in Zeile 1

Dank.

Antwort

2

Sie müssen vor dem Trigger definieren Begrenzer ändern

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

Dann natürlich das Trennzeichen ändern zurück;

DELIMITER ; 

Das Gleiche gilt für Funktionen und gespeicherte Prozeduren erklärt