我需要跟踪行被插入数据库的时间以及上次修改的时间。行创建和上次修改的时间戳
我试图创建两个单独的列,并使用CURRENT_TIMESTAMP
:
create table def (
id int,
creation timestamp
default CURRENT_TIMESTAMP,
modification timestamp
on update CURRENT_TIMESTAMP
);
然而,这产生了一个错误:
ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
什么是做到这一点的最好方法是什么?
我在想存储过程,但寻找一个标准的解决方案。我也关心访问权限 - 尽可能少的程序/事物应该能够触及时间戳。
虽然我更喜欢MySQL的答案,其他RDBMS的解决方案也赞赏!
我认为修改时间戳“缺少的功能”已在多个当前的MySQL版本之后的几年中修复。 – hakre