【发布时间】:2011-12-03 00:33:42
【问题描述】:
我需要记录一行插入数据库的时间,以及它最后一次修改的时间。
我尝试创建两个单独的列,并使用CURRENT_TIMESTAMP:
create table def (
id int,
creation timestamp
default CURRENT_TIMESTAMP,
modification timestamp
on update CURRENT_TIMESTAMP
);
但是,这产生了一个错误:
ERROR 1293 (HY000):表定义不正确;在 DEFAULT 或 ON UPDATE 子句中只能有一个带有 CURRENT_TIMESTAMP 的 TIMESTAMP 列
最好的方法是什么?
我正在考虑存储过程,但正在寻找标准解决方案。我还关心访问权限——尽可能少的程序/事物应该能够触及时间戳。
虽然我更喜欢 MySQL 的答案,但也感谢其他 RDBMS 的解决方案!
【问题讨论】:
-
我认为修改时间戳“缺少的功能”已经在较新的 MySQL 版本之一中修复了多年。
标签: mysql sql timestamp database-trigger mysql-error-1293