У меня был набор триггеров в MySQL, который раньше выполнял то, что я хотел.Недавно мое рабочее место обновило рабочую среду MySQL до версии 6.3.10 на всех компьютерах, и по какой-то причине во время обновления были сброшены триггеры.
По сути, триггер должен обновить столбец с текущей датой, когда другой столбецизменилось.Ранее это было достигнуто с помощью следующего синтаксиса:
if (NEW.colname <> OLD.colname or (OLD.colname is null && NEW.colname is not null))
then
set NEW.othercolname = current_date()
Проблема в том, что когда я пытаюсь воссоздать тот же триггер в новой версии MySQL и применить его, я встречаюсь с ошибкой:
ERROR 1363: There is no OLD row in on INSERT trigger
Мне кажется, что MySQL ищет строку с именем OLD, которая не существует;однако этот синтаксис использовался в предыдущих версиях для получения ожидаемого результата.Кто-нибудь может предложить альтернативный синтаксис для достижения этой цели?