2009-08-18 7 views
0

Ich versuche, einen Auslöser zu erstellen, die Änderungen auf einem Tisch zu überwachen und dann diese Änderung auf eine andere Tabelle einfügen alsMySQL-Trigger: ERROR 1064 (42000): Sie haben einen Fehler in der SQL-Syntax

CREATE TRIGGER userChangePasswd 
BEFORE UPDATE ON originalTable 
FOR EACH ROW 
BEGIN 
INSERT INTO logs (email,clear,name) SELECT email,clear,name FROM originalTable 
END 
folgt

mysql hält den folgenden Fehler

ERROR 1064 (42000): 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 'INSERT INTO logs (email,clear,name) SELECT email,clear,name FROM ' originalTable at line 5 

die folgende Aussage zeigt, arbeitet mit einem sehr Datei where-Klausel Kriterien

INSERT INTO logs (email,clear,name) SELECT email,clear,name FROM originalTable 

Was ist falsch mit der Einfügeanweisung im Trigger

+0

verwenden Sie eine Version höher als 5.0.10? – Zed

Antwort

1
CREATE TRIGGER `orgTbl_before_upd_tr` BEFORE UPDATE ON `orgTbl` 
FOR EACH ROW 
BEGIN 
    INSERT INTO newTbl (field1, field2) VALUES (old.field1, old.field2); 
END; 
Verwandte Themen