我正在尝试设置一个sql表来记录创建帐户的时间以及上次修改帐户的时间.我想sql来处理这个,所以我不必在我的
PHP文件中这样做.
我的users表中有两列(都是timestamp类型):
created
modified
我希望“创建”时间永远不会改变并始终包含创建日期,并且每次修改用户行时都要更改“已修改”.我有表设置所以“创建”按预期工作,但当我尝试更新修改时:
ALTER TABLE `users`
CHANGE `modified` `modified` TIMESTAMP NOT NULL
DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP
我收到以下错误:
1293 – Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
有人可以帮助我完成正确的操作吗?
最佳答案 它在mysql中是不可能的.您可以将它们设置为仅在INSERT上的实际时间,仅在UPDATE或两者上.但是,在一个表中不能有多个这样的auto-TIMESTAMP列.如果使用Mysql 5.x,现在可以使用TRIGGER
参考这篇文章它会帮助你很多: