Hallo zusammen
Ich bin gerade dran einen Trigger zu erstellen welcher u.A. den Foreign Key auf NULL sezten soll falls ein Datensatz mit dem entspr. Primary Key gelöscht wird.
Die Tabelle repräsentiert eine Baumstruktur, Primary Key und Foreign Key beschränken sich also auf 1 Tabelle!
Feldname Primary Key: adr_id
Feldname Foreign Key: NodeOf
DROP TRIGGER IF EXISTS adressql.t_adressen_delete;
CREATE TRIGGER t_adressen_delete
BEFORE DELETE
ON adressen
FOR EACH ROW
BEGIN
UPDATE adressen SET NodeOf = NULL WHERE NodeOf = OLD.adr_id;
END$$
...Leider erhalte ich diese Fehlermeldung:
Ich frage mich, was an meinem Code falsch ist?
Der Trigger ist BEFORE DELETE, und überall wo der zu löschende Datensatz (OLD.adr_id) ein Foreign Key ist (im Feld "NodeOf") soll auf NULL gesetzt werden. Ich sehe leider nicht, wo der Fehler liegt.
Kann mir jemand helfen? (So nebenbei: Ich verwende das nicht grundlos) Besten Dank im Voraus!
Grüsse, Jan
Ich bin gerade dran einen Trigger zu erstellen welcher u.A. den Foreign Key auf NULL sezten soll falls ein Datensatz mit dem entspr. Primary Key gelöscht wird.
Die Tabelle repräsentiert eine Baumstruktur, Primary Key und Foreign Key beschränken sich also auf 1 Tabelle!
Feldname Primary Key: adr_id
Feldname Foreign Key: NodeOf
DROP TRIGGER IF EXISTS adressql.t_adressen_delete;
CREATE TRIGGER t_adressen_delete
BEFORE DELETE
ON adressen
FOR EACH ROW
BEGIN
UPDATE adressen SET NodeOf = NULL WHERE NodeOf = OLD.adr_id;
END$$
...Leider erhalte ich diese Fehlermeldung:
Ich frage mich, was an meinem Code falsch ist?
Der Trigger ist BEFORE DELETE, und überall wo der zu löschende Datensatz (OLD.adr_id) ein Foreign Key ist (im Feld "NodeOf") soll auf NULL gesetzt werden. Ich sehe leider nicht, wo der Fehler liegt.
Kann mir jemand helfen? (So nebenbei: Ich verwende das nicht grundlos) Besten Dank im Voraus!
Grüsse, Jan