mysql Триггер для регистрации, найти измененные столбцы

Я пишу триггер, чтобы отслеживать все изменения, которые происходят в таблице. К сожалению, в таблице более 150 столбцов, и я хотел избежать записи каждого столбца в коде (например, new.col1, new.col2 ....), и поэтому я написал следующий запрос в & quot; после триггера обновления & quot;

INSERT INTO logs SELECT *, NOW() FROM abc WHERE abc.id = NEW.Id;

Эта идея вызывает многократную проблему из-за дублирования данных, которые не изменяются в запросе на обновление.

Короче говоря, я хочу динамически выяснить, какие столбцы были частью запроса на обновление, и если это невозможно, есть ли способ перебрать все столбцы & quot; new & quot; строка, чтобы я мог динамически сравнить старый. @ colName == новый. @ colName?

Я уже видела Oracle PL / SQL: динамическое циклическое переключение по столбцам триггера, Как определить, изменилось ли что-нибудь в триггере обновления в t-sql а такжеТриггер MySQL UPDATE: вставка значений столбцов, которые фактически изменились.

Последняя ссылка - это закрытие того, что мне нужно, только с одним отличием, я не хочу жестко кодировать имена столбцов в следующем описании, потому что у меня более 100 столбцов во всех таблицах, для которых я собираюсь написать аналогичный триггер !!

IF NEW.column1 <> OLD.column1 THEN INSERT INTO... END IF; IF NEW.column2 <> OLD.column2 THEN INSERT INTO... END IF

Ответы на вопрос(2)

Ваш ответ на вопрос