Да, вам нужно использовать триггер.(Просто проверяю: правильно ли работает ваш опубликованный триггер? На первый взгляд, он мне подходит.)
MySQL ON UPDATE CURRENT_TIMESTAMP
- довольно уникальный, одноцелевой ярлык.Что есть, то есть;эта конструкция не может использоваться аналогично для любых других значений или для любых типов столбцов, кроме TIMESTAMP
.(Обратите внимание, как эта функциональность определяется на странице типа TIMESTAMP
вместо CREATE TABLE
page , так как эта функция относится только к столбцам TIMESTAMP
, а не к операторам CREATE TABLE
в общем.) Стоит также упомянуть, что, хотя он специфичен для типа TIMESTAMP
, SQLite даже не имеет различных типов даты / времени .
Насколько я знаю, нетдругие СУБД предлагают этот ярлык вместо использования фактического триггера.Из того, что я прочитал, для достижения этой цели на MS SQL, SQLite, PostgreSQL и Oracle необходимо использовать триггеры.
Последнее замечание для прохожих:
Это не следует путать с предложениями ON UPDATE
в отношении ограничений внешнего ключа.Это нечто совершенно другое, что, вероятно, есть во всех СУБД, поддерживающих ограничения внешнего ключа (включая MySQL и SQLite).