Ведение журнала аудита на основе триггеров MySQL со сравнениями

При рассмотрении подобных вопросов, таких как:

Получение триггера для вставки измененных значений столбца только в аудите таблица

Стратегии ведения журналов аудита

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

Задний план:

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

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

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

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

Спасибо!


person Jas Panesar    schedule 15.05.2009    source источник


Ответы (1)


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

person Ronald Wildenberg    schedule 15.05.2009
comment
Я тоже к этому склонялся, спасибо за подтверждение!@ - person Jas Panesar; 15.05.2009