Trigger erstellen in MYSQL

Hallo an alle,
ich bin nicht erfahren in sql und daher bräuchte ich euere Hilfe…
Es geht darum, dass ich einen Trigger in MYSQL erstellen will, der mir informiert dass sich meine Tabelle verändert hat und mir auch sagt was sich in der Tabelle genau verändert hat. Die Veränderung in meiner Tabelle soll INSERT, LÖSCHEN und UPDATE sein. „also mein Trigger soll alle Veränderungsarten enthalten“.

Angenommen habe ich z.B. folgende Tabelle:

CREATE TABLE book (
nr INT NOT NULL PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100),
nachricht TEXT
)

Wie soll denn den Trigger aussehen?

Vielen Dank im voraus,
Laura

Hallo Laura,

Es geht darum, dass ich einen Trigger in MYSQL erstellen will,
der mir informiert dass sich meine Tabelle verändert hat und
mir auch sagt was sich in der Tabelle genau verändert hat. Die
Veränderung in meiner Tabelle soll INSERT, LÖSCHEN und UPDATE
sein. „also mein Trigger soll alle Veränderungsarten
enthalten“.

Angenommen habe ich z.B. folgende Tabelle:

CREATE TABLE book (
nr INT NOT NULL PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100),
nachricht TEXT
)

Wie soll denn den Trigger aussehen?

Nur eine teilweise Antwort: Wenn ich das hier richtig verstehe
http://dev.mysql.com/doc/refman/5.1/de/triggers.html
brauchst Du drei Trigger, weil ein Trigger nur für ein bestimmtes Ereignis aktiviert wird (ich hoffe, ich täusche mich…)

CREATE TRIGGER xyz BEFORE INSERT ON book
FOR EACH ROW
BEGIN
INSERT INTO history SET newname = NEW.name;

END

Das noch zweimal ähnlich für UPDATE und DELETE…
history ist dann die Hilfstabelle, in der Du alles protokollierst, müsste noch ein TIMESTAMP rein und ev. ein Merker für INSERT, UPDATE, DELETE
Das ist nur ein grober Ansatz, der die Richtung zeigt. Das zitierte Handbuch ist da bestimmt hilfreicher…

Viel Erfolg
Klaus Bernstein

Hallo Klaus,
Vielen dank für die hilfreichen Hinweisen, ich werde es Heute ausprobieren …
Lieben Gruß,
Laura

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]