'创建于'和'更新'字段

mdg*_*ech 14 php mysql codeigniter

这看起来很简单,但我很难弄明白.我想在我的数据库中列出一个列,该列列出了第一次创建记录的时间,另一列列出了更新时间.这是我的理解,我应该能够使用MySQL完成所有这些.所有帮助表示赞赏:)

这个问题仍然没有答案,我已经开始怀念Ruby on Rails了...

小智 7

您可能需要使用Datetime数据类型和Timestamp数据类型的组合.我把我created列作为DateTime一个DEFAULT NOW()和我updated作为列TimestampDEFAULT CURRENT_TIMESTAMPON UPDATE CURRENT_TIMESTAMP属性.

以下是Timestampdt 的文档:

http://dev.mysql.com/doc/refman/5.0/en/timestamp.html

在CREATE TABLE语句中,可以通过以下任何方式声明第一个TIMESTAMP列:

使用DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP子句时,该列具有其默认值的当前时间戳,并自动更新.

既没有DEFAULT也没有ON UPDATE子句,它与DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP相同.

使用DEFAULT CURRENT_TIMESTAMP子句且没有ON UPDATE子句时,该列具有其默认值的当前时间戳,但不会自动更新.

如果没有DEFAULT子句且ON UPDATE CURRENT_TIMESTAMP子句,则该列的默认值为0并自动更新.

使用常量DEFAULT值时,该列具有给定的默认值,并且不会自动初始化为当前时间戳.如果该列还具有ON UPDATE CURRENT_TIMESTAMP子句,则会自动更新; 否则,它具有常量默认值,不会自动更新.