2009-05-15 7 views
0

Mit Blick auf ähnlichen Fragen wie Anmeldung:MySQL Trigger-basierte Audit mit Vergleichen

Getting trigger to insert changed column values only in audit table

Audit Logging Strategies

Ich mag würde weiter noch einen Schritt nehmen und die aktualisierten Daten vergleichen, um zu sehen, ob es tatsächlich wurde aktualisiert ... Ich bin mir nicht sicher, ob dies ideal ist (leistungsmäßig).

Hintergrund:

Wir haben einige Daten, die in regelmäßigen Abständen durch den Benutzer aktualisiert wird.

Wenn diese Daten aktualisiert werden, würde ich gerne vergleichen, was sie eingereicht haben mit dem, was bereits da ist und was sie eingereicht haben, um sicherzustellen, dass es eine Änderung gegeben hat.

Wenn sich eine Änderung ergeben hat, schreiben Sie einen Audit-Eintrag in die zentrale Audit-Verlaufstabelle, in der die geänderten Felder aufgeführt sind.

Gedanken/Ideen? Ich habe mein Bestes gegeben, um zu suchen, hatte aber nicht viel Glück. Ich werde glücklich sein, diese Frage zu löschen, wenn es ein Duplikat ist.

Danke!

Antwort

1

Sie könnten einen BEFORE UPDATE Trigger schreiben, wo Sie die OLD und NEW Aliase in dem Trigger verwenden, um die Werte zu vergleichen, die mit den Werten in der Aufzeichnung vor dem Update verfügbar waren Sie mit aktualisieren. Abhängig vom Ergebnis des Vergleichs können Sie einen Eintrag in Ihre Audit-Tabelle schreiben.

+0

Das war, was ich auch lehnte, danke für die Bestätigung! @ –