Hallo
MySQL Freunde!
Ich habe 2 Tabellen... Nennen wir diese:
Source und Destination
Ein After Insert Trigger für Source erzeugt je nach Datensatz
3-8 Einträge in Destination. // Das Funktioniert prima...
In jedem Datensatz von Destination wird das Source ID gespeichert.
Wenn ich jetzt ein Update in Source aufrufen/aufrufen will
Soll ein BEFORE UPDATE Trigger erst die Einträge löschen.
SQL-Code:
CREATE TRIGGER BUSource BEFORE UPDATE ON Source
FOR EACH ROW
BEGIN
DELETE FROM Destination WHERE (Woher_ID=OLD.ID);
END $$
und dann ein AFTER UPDATE Trigger die neuen erzeugen...
SQL-Code:
CREATE TRIGGER AUSource AFTER UPDATE ON Source
FOR EACH ROW
BEGIN
Bla bla bla ganz viel genau wie im Insert Trigger...
Zahlreiche Inserts auf Destination
END $$
Obwohl ich NIE auf die Source Table die den Trigger hat Zugreife erhalte ich diese Fehlermeldung
•Error: 1442 SQLSTATE: HY000 (ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG)
Message: Can't update table '%s' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
Ideen?
Grüsse Mavarik