MySQL Trigger-basierte Überwachungsprotokollierung mit Vergleichen
-
22-08-2019 - |
Frage
Mit Blick auf ähnliche Fragen wie:
Erste Trigger geänderten Spaltenwerte einfügen nur in Audit-Tabelle
Ich möchte noch einen Schritt weiter gehen und vergleichen Sie die aktualisierten Daten, um zu sehen, ob es tatsächlich aktualisiert wurde ... Ich bin mir nicht sicher, ob dies ideal ist (Leistung klug).
Hintergrund:
Wir haben einige Daten, die in regelmäßigen Abständen durch den Benutzer aktualisiert wird.
Wenn diese Daten aktualisiert wird, würde Ich mag zu vergleichen, was sie mit vorgelegt, was schon da ist und was sie abgegeben, um sicherzustellen, hat es eine Änderung.
Wenn es eine Veränderung gegeben hat, geht ein Audit in die zentralen Audit-Historie Tabelle schreiben umreißt die Felder geändert.
Die Gedanken / Ideen? Ich habe mein Bestes zu suchen, aber nicht viel Glück haben. Ich werde glücklich sein, diese Frage zu löschen, wenn es ein Duplikat ist.
Danke!
Lösung
Sie könnten einen BEFORE UPDATE
Trigger schreiben, wo Sie den OLD
und NEW
Aliase in dem Trigger verwenden, um die Werte zu vergleichen, die mit den Werten vor dem Update in der Aufzeichnung verfügbar waren Sie mit aktualisieren. Je nach Ergebnis des Vergleichs können Sie einen Eintrag auf Ihre Audit-Tabelle schreiben.