默认值为 CURRENT_TIMESTAMP 字段

DATETIME

  • DATETIME 占用8个字节;
  • ALTER TABLE XTYHXXB
    ADD COLUMN SJC timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP;
  • 时间范围为:‘1000-01-01 00:00:00.000000’ 到 ‘9999-12-31 23:59:59.999999’。
  • DATETIME 不做任何改变,基本上是原样输入和输出
  • DATETIME 在5.6版本后才支持,需要手动指定not null default CURRENT_TIMESTAMP;

TIMESTAMP

  • TIMESTAMP占用4个字节;
  • ALTER TABLE XTYHXXB
    ADD COLUMN SJC datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) ;
  • 时间范围为:‘1970-01-01 00:00:01.000000’ 到 ‘2038-01-19 03:14:07.999999’。
  • 把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回
  • TIMESTAMP 默认支持not null default CURRENT_TIMESTAMP自动更新当前时间;
起因是程序执行存入 数据库 时间不对,程序把日期format为整时然后存入(或update) 数据库 ,但是 数据库 一直存入的时间有分钟有秒,查看日志,跟代码,废了好大劲。查了资料,然后发现是navicat选择字段误点了根据 当前 时间戳 更新 ,把取消掉就好了。 DROP TABLE IF EXISTS `bill`; CREATE TABLE `bill` ( `id` bigint(18) NOT NULL AUTO_INCREMENT COMMENT 'id', `create_date` datetime (0) NULL DEFAULT NULL ON UPDATE CURRENT_ TIMESTAMP (0) COMMENT '创建日期', Mysql 时间戳 字段 更新 TimeStamp Mysql 中的 时间戳 字段,这个字段可以支持自动添加和 更新 。1.概述在我们设计表的时候,考虑将行数据的创建时间和最后 更新 时间记录下来是很好的实践。尤其是可能需要做数据同步或者对数据新鲜度有要求的表。举些应用场景, 更新 距上次 更新 超过2小时的行数据,或者是将一个月前的订单数据归档等等。我们想把这个的需求丢给 数据库 服务器管理,而不是在应用程序中对每一条语句设置创... 当 timestamp 类型字段(如:update_time),被勾选上“根据 当前 时间戳 更新 ”后, 每次有其他字段被 更新 时,该行记录的 timestamp 字段(update_time)都会自动 更新 当前 时间。 作为记录的 更新 时间字段:勾选“根据 当前 时间戳 更新 ”(如:update_time)。 配合的记录创建字段:设置字段“不为空”,默认值为“CURRENT_ TIMESTAMP ”(如:create_time) 设置默认值为:CURRENT_ TIMESTAMP ,新增的时候传null或default都是 当前 时间 如果想要 更新 数据时变成是 当前 时间就勾选上“根据 当前 时间戳 更新 ”,这样只要改变数据,就会 更新 当前 时间,非常好用! 假设表有3个字段:id、name、update_time,希望在新增记录时能自动设置update_time字段为 当前 时间 设置DEFAULT CURRENT_ TIMESTAMP 即可 CREATE TABLE `test` ( `id` int NOT NULL, `name` varchar(255), `update_time` timestamp NULL DEFAULT CUR 在设计表的 时间戳 字段时,设置 ‘根据 当前 时间戳 更新 ’ 有好处,当我们修改了历史记录时,那么 时间戳 变为 当前 时间戳 ,这样 数据库 同步的时候,就会检查到这条已变更的记录,并将变更后的记录同步到新表中。 注意到这个是因为一次事故。一个简单的操作记录表,只记录了一个操作人,操作时间,操作结果。当时为了演示效果,在生产环境中去修改,创建数据。一顿操作猛如虎之后发现,所有改过的数据的创建时间都变成了 当前 时间,演示效果更不好了,还破坏了原本的数据。经过研究发现,当数据类型是 timestamp 的时候,多了个根据 当前 时间 更新 也就是下图的这个东西,将创建时间勾选了根据 当前 时间 更新 导致的问题。所以呢。。如果设置了... tid int primary key AUTO_INCREMENT , title varchar(50) not null, cont varchar(50) not null, writer varchar(30) references tUser (username), dt datetime not NULL DEFAULT CURRENT_ TIMESTAMP ,//获取 当前 系统时间 ding int def... create table test( id integer not null auto_increment primary key, name varchar(20) not null , created timestamp not null default CURRENT_ TIMESTAMP , updated timestamp not null default CURRENT_TIMEST