Keep on going, never give up.

MySQL CURRENT_TIMESTAMP介绍

MySQL数据库设计中,经常会用到时间戳字段(timestamp),一般可能面临如下三种情况:

  1. 第一次插入时记录一次时间戳
  2. 每次更新都更新时间戳
  3. 只记录简要时间,比如Date

如果是第一种和第二种情况,使用timestamp相比datetime要更为方便些。timestamp默认值有三种:

  • NULL
  • NOT NULL DEFAULT CURRENT_TIMESTAMP
  • NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

其中,

  • CURRENT_TIMESTAMP - 当更新此条记录时,时间戳不会改变
  • CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP - 当更新此条记录时,时间戳将会改变,变为最新时间

设置CURRENT_TIMESTAMP默认值后,插入记录还是更新记录都不需要维护该字段,该字段完全由MySQL维护,就像AutoIncrement字段一样,但如果使用上文设置的datetime字段,则需要手动构造时间更新,比如类似now()等。

对CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,有个特殊情况,假如你更新的字段值(UPDATE)没有变化时,MySQL将会忽略更新操作,所以,时间戳也不会改变。另外,如果有多个CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP列,那么MySQL只会更新第一个。

设置CURRENT_TIMESTAMP方法如下(PHPMyadmin抓图):

参考地址:

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

更多文章:

MySQL C API函数大全

VC++上开发MySQL数据库

MySQL数据类型及范围用法一览表

MySQL无法启动、无法停止解决方法

MySQL的系统保留字一览表

如何给MySql创建连接用户并授权

相关评论(0):  

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

最新文章

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载也必须遵循“署名-非商业用途-保持一致”的创作共用协议. 返回顶部
Copyright@2005-2016 Metsky.com, All rights Reserved.