Я хочу, чтобы мои триггеры «аудита» были проще в обслуживании.На самом деле, для триггера «До обновления» логика выглядит следующим образом:
IF NEW.field <> OLD.field THEN INSERT INTO table SET field=OLD.field
Я проверяю каждый столбец на наличие изменений, потому что я не хочу хранить строки, которые на самом деле не обновляются.Существует много отслеживаемых столбцов, и когда я меняю таблицу (добавляю или удаляю столбец), мне приходится редактировать триггеры, чтобы отразить новую структуру таблицы.
Существует ли простой способ прохождения каждого столбца, подобный этому:
FOR EACH COL BEGIN IF NEW.COL <> OLD.COL THEN SET changedetected=true; END IF; END
И после этого, используя цикл FOR таким же образом, чтобы заполнить таблицу Audit всеми столбцами таблицы?
Я не знаю, достаточно ли я ясен,пожалуйста, оставляйте комментарии, если это необходимо.
Большое спасибо за вашу помощь!