Отметка времени для создания и последней модификации строки

Мне нужно отслеживать время вставки строки в базу данных и время ее последнего изменения.

Я попытался создать два отдельных столбца и использовать CURRENT_TIMESTAMP :

create table def (
  id int, 
  creation timestamp 
    default CURRENT_TIMESTAMP, 
  modification timestamp 
    on update CURRENT_TIMESTAMP
);

Однако это привело к ошибке:

ERROR 1293 (HY000): неправильное определение таблицы; может быть только один столбец TIMESTAMP с CURRENT_TIMESTAMP в предложении DEFAULT или ON UPDATE

Как лучше всего это сделать?

Я думаю о хранимой процедуре, но ищу стандартное решение. Меня также интересуют права доступа - как можно меньше программ / вещей должны иметь возможность касаться меток времени.


Хотя я бы предпочел ответы MySQL, мы также приветствуем решения для других СУБД!

7
задан dreftymac 8 June 2019 в 00:14
поделиться