Журнал аудита на основе MySQL Trigger с сравнениями - PullRequest
0 голосов
/ 15 мая 2009

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

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

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

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

Справка:

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

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

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

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

Спасибо!

1 Ответ

1 голос
/ 15 мая 2009

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

...