Есть ли способ получить список столбцов, которые были обновлены в триггере MySQL «до обновления»? Когда строка находится в определенном состоянии, я хочу сделать неизменяемыми все столбцы, кроме одного. Итак, я хотел бы получить доступ к массиву измененных столбцов, и если массив содержит какой-либо столбец, НО один столбец, который должен быть изменен, я бы отклонил обновление. В SQL Server есть функция COLUMNS_UPDATED(), но я не могу найти ничего подобного для MySQL.
new.columnname
сold.columnname
(для всех столбцов, которые вы хотите проверить), см., например. здесь. Следует отметить одну вещь:COLUMNS_UPDATED( )
(иupdate()
) на сервере sql не проверяют, действительно ли значение было изменено, только если столбец был упомянут в запросе. В MySQL нет эквивалента этому (вы не можете определить, осталось ли значение столбца прежним, потому что оно не использовалось в запросе или потому что ему было присвоено то же значение), но ваше описание, кажется, не требует этого. - person Solarflare   schedule 06.09.2019