2016-07-20 10 views
-1

Ich habe diesen Code für den Trigger:ein Trigger Sie sich, dass Kopien neue Daten aus der Tabelle zu einer anderen Tabelle nach Einsatz

CREATE TRIGGER `insert_after` AFTER INSERT ON `hyk50_0001` 
    FOR EACH ROW BEGIN 
    INSERT INTO hyk50_0001_copy(Fecha) 
    SELECT Fecha FROM hyk50_0001 
END; 

aber nicht funktioniert, sagt es ein Syntaxfehler, aber ich habe es nicht sehen

Ich verwende Navicat. Und hyk50_0001_copy ist es eine identische Kopie von hyk50_0001. Ziel ist es, um die neue Reihe von hyk50_0001 und INSERT in hyk50_0001_copy

möchte ich die ganze Datenbank setzen, aber wenn es nicht mit nur ich einen Wert funktioniert nicht voran.

+0

Zeigen Sie die vollständige Definition des Triggers an. Ein häufiges Problem ist, wenn 'delimiter' nicht korrekt gesetzt ist. –

+0

Ich kann den 'Begrenzer' nicht sehen, weil das Programm nicht angezeigt wird, ich habe nur diesen Code. Und ein Selektor für das Ereignis und nach oder vor. Ich bin sehr neu über Trigger. – Brecht

+0

Sorry, eigentlich finde ich den vom Programm erstellten Code. – Brecht

Antwort

0

Ich sehe einen Syntaxfehler nicht, aber ich nehme an, Sie beabsichtigen:

DELIMITER $$ 
CREATE TRIGGER `insert_after` AFTER INSERT ON `hyk50_0001` 
    FOR EACH ROW 
BEGIN 
    INSERT INTO hyk50_0001_copy(Fecha) 
     VALUES (new.Fecha) 
END;$$ 

DELIMITER ; 

Das heißt, Sie wahrscheinlich nur die Zeile eingefügt werden soll, die gerade erstellt wurde.