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

StackOverflow https://stackoverflow.com/questions/870142

Вопрос

Рассматривая подобные вопросы, например:

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

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

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

Фон:

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

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

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

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

Спасибо!

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top