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=gbk 

TIMESTAMP设置默认值是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,以后修改时刷新它

作者:itmyhome

出处:IT虾米网

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/4188.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论