2009-05-15 4 views
0

En regardant des questions similaires:Audit basé MySQL Trigger journalisation avec des comparaisons

Getting trigger to insert changed column values only in audit table

Audit Logging Strategies

Je voudrais prendre un peu plus loin et comparer les données mises à jour pour voir si elle a effectivement a été mis à jour ... Je ne suis pas sûr que ce soit idéal (performance sage).

Contexte:

Nous avons des données qui sont mis à jour périodiquement par l'utilisateur. Lorsque ces données sont mises à jour, je voudrais comparer ce qu'ils ont soumis avec ce qui est déjà là et ce qu'ils ont soumis, pour s'assurer qu'il y a eu un changement.

S'il y a eu une modification, passez à écrire une entrée d'audit dans le tableau d'historique d'audit central décrivant les champs modifiés.

Pensées/idées? J'ai fait de mon mieux pour chercher, mais je n'ai pas eu beaucoup de chance. Je serai heureux de supprimer cette question s'il s'agit d'un doublon.

Merci!

Répondre

1

Vous pouvez écrire un déclencheur dans votre BEFORE UPDATE déclencheur lorsque vous utilisez les OLD et NEW alias pour comparer les valeurs qui étaient disponibles dans le dossier avant la mise à jour avec les valeurs que vous mettez à jour avec. Selon le résultat de la comparaison, vous pouvez écrire une entrée dans votre table d'audit.

+0

C'est aussi ce à quoi je m'appuyais, merci de m'avoir confirmé! @ –