mysql 中时间戳在线测试_MySQL TIMESTAMP(时间戳)详细解释

当你创建一个表假设表中有类型的字段TIMESTAMP,该字段默认情况下,语句生成:CREATE TABLE `test` (

`id` int(11) DEFAULT NULL,

`ctime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

) ENGINE=InnoDB DEFAULT CHARSET=gbk

假设有两个字段类型为TIMESTAMP,则生成语句为:CREATE TABLE `test` (

`id` INT(11) DEFAULT NULL,

`ctime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

`utime` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'

) ENGINE=INNODB DEFAULT CHARSET=gbkTIMESTAMP设置默认值是Default CURRENT_TIMESTAMP、

TIMESTAMP设置随着表变化而自己主动更新是ON UPDATE CURRENT_TIMESTAMP

一个表中至多仅仅能有一个字段设置CURRENT_TIMESTAMP(当前时间)

1、TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

在创建新记录和改动现有记录的时候都对这个数据列刷新

2、TIMESTAMP DEFAULT CURRENT_TIMESTAMP

在创建新记录的时候把这个字段设置为当前时间,但以后改动时,不再刷新它

3、TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

在创建新记录的时候把这个字段设置为0,以后改动时刷新它


版权声明:本文为weixin_34545862原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。