Hallo liebe Gemeinde!
Ich konnte leider keine passende Antwort auf meine Frage finden. Sicherlich ist schon die richtige Begrifflichkeit die erste Hürde
(wie so immer beim Suchen).
Ich möchte gerne bei meiner Applikation Feldänderungen innerhalb der
DB (
MySQL 5, InnoDB) mithilfe eines Triggers "dokumentieren".
Dies stellt grundsätzlich kein Problem dar. Ich werde dies nach folgendem Schema realisieren:
Code:
CREATE TRIGGER trigger_changes
AFTER UPDATE ON tab1_aktuell
FOR EACH ROW
INSERT INTO tab2_historie
( ID, daten 1, daten2, date_modified)
VALUES
(OLD.ID, OLD.daten, OLD.daten2, NOW());
Nun zur Frage: Ich möchte gerne die auslösenden User dazu abspeichern. Ich verwende aber keine unterschiedlichen
MySQL-User (dann wäre das Problem schnell gelöst) für den
DB-Zugriff. Mein Programm hat eine eigene Benztzerverwaltung. D.h ich muss irgendwie in den Trigger-Insert-Befehl die User-ID mit eintragen.
Nur mal so als Skizze:
Code:
CREATE TRIGGER trigger_changes
AFTER UPDATE ON tab1_aktuell
FOR EACH ROW
INSERT INTO tab2_historie
( ID, daten 1, daten2, date_modified)
VALUES
(OLD.ID, OLD.daten, OLD.daten2, NOW(),[UserID]);
Das Feld [UserID] stellt dann den einzutragenen Wert dar.
Anmerkung: Ich habe leider keine Möglichkeit bzw. möchte ich Nachprogrammierungen verhindern, bei dem ich den User im Update-Befehl übergebe("OLD.UserID").
Hat jemand eine Idee?
Gruß in die Runde