2009-05-15 2 views
0

Глядя на подобные вопросы, как:MySQL Trigger на основе аудита входа сравнениями

Getting trigger to insert changed column values only in audit table

Audit Logging Strategies

Я хотел бы сделать еще один шаг дальше и сравнить обновленные данные, чтобы увидеть, если он на самом деле был обновлен ... Я не уверен, что это идеальный (умение работать эффективно).

фон:

У нас есть некоторые данные, которые периодически обновляются пользователем.

Когда эти данные обновляются, я хотел бы сравнить то, что они представили, с тем, что уже существует, и тем, что они отправили, чтобы убедиться, что произошли изменения.

Если произошли изменения, приступайте к записи записи аудита в таблицу истории центрального аудита с изложением измененных полей.

Мысли/идеи? Я сделал все возможное, чтобы искать, но не имел большой удачи. Я буду рад удалить этот вопрос, если это дубликат.

Спасибо!

ответ

1

Вы можете написать BEFORE UPDATE триггер, где вы используете OLD и NEW псевдонимов в вашем триггере для сравнения значений, которые были доступны в записи до обновления со значениями обновляемых с. В зависимости от результата сравнения вы можете записать запись в таблицу аудита.

+0

Это то, к чему я тоже обращался, спасибо за подтверждение! @ –