TS: mysql Trigger triggert falsch?

Beitrag lesen

Hello,

das Thema hatten wir neulich schon so ähnlich.

Welche Datenbank und -Version benutzt Du? Bei den neueren Versionen kann man pro Tabelle und Klasse (Insert, Update, Delete) mehrere Trigger eintragen. Die werden dann mit einer etwas andern "add-syntax" hinzugefügt. Beschreibung

Bei den älteren Versionen musste man die unterschiedlichen Wirkungsfälle immer in je einem Trigger zusammenfassen.

Wenn man dann ein create Trigger ausgeführt hat und es bestand schon einer, dann gab es einen Fehler. Den muss man selbstverständlich auch abfragen und auswerten.

Raketes Gedanke, sich erst einmal alle Trigger anzeigen zu lassen, ist daher nicht falsch. Aber bitte auch genau hinschauen, was drin steht.

meine Trigger:

CREATE TRIGGER kontrolle_insert AFTER INSERT ON table
 FOR EACH ROW BEGIN
    INSERT INTO kontrolle 
    SET 
    Art = 'INS',
    VorgangsID = NEW.VorgangsID, 
    PostenID = NEW.PostenID,
    Erstelldatum = now();
END


CREATE TRIGGER kontrolle_update AFTER UPDATE ON table
 FOR EACH ROW BEGIN
    INSERT INTO kontrolle 
    SET 
    Art = 'UP',
    VorgangsID = NEW.VorgangsID, 
    PostenID = NEW.PostenID,
    Erstelldatum = now();
END

CREATE TRIGGER kontrolle_delete BEFORE DELETE ON table
 FOR EACH ROW BEGIN
    INSERT INTO kontrolle 
    SET 
    Art = 'DEL',
    VorgangsID = OLD.VorgangsID, 
    PostenID = OLD.PostenID,
    Erstelldatum = now();
END

In die Tabelle wird beim Löschen eines Artikels aber nicht DEL, sondern UP eingetragen. Insert und Update werden korrekt eingetragen, nur beim Löschen wird ein UP eingetragen anstelle eines DEL.
Ist zwar für meine Anwendung nicht schlimm (weils nur rein informativ ist), aber interessieren tuts mich trotzdem.

Was läuft hier falsch?

Sven

Glück Auf
Tom vom Berg

--
Es gibt soviel Sonne, nutzen wir sie.
www.Solar-Harz.de
S☼nnige Grüße aus dem Oberharz