MySQL中的DATETIME和TIMESTAMP的初始化与自动更新

本文探讨了MySQL中DATETIME和TIMESTAMP数据类型的存储特性,包括它们在时间转换、初始化值设定及自动更新行为上的区别。TIMESTAMP会进行UTC转换,而DATETIME则保持原始输入时间。两者都可被设置为null、特定时间或当前时间戳,并且在更新记录时可配置自动更新为最新时间戳。
摘要由CSDN通过智能技术生成

DATETIME和TIMESTAMP除了存储需求不同外:

  • TIMESTAMP数据类型,是将日期时间数据转化为UTC(世界标准时间)进行存储,在查询时也是将数据转化为当前所在的时区的时间进行返回
  • DATETIME数据类型,输入的是什么时间,存入的就是什么时间,查询时返回的也是输入时的时间,不会进行时区转换

设置DATETIME和TIMESTAMP的初始化值,可以为null、在取值范围内的任意时间戳、或者当前时间戳

  • 设置初始化值为null
create table time(
ts timestamp default null,
dt datetime default null);                            
  • 设置初始化值为取值范围内的任意时间戳。将字段的初始化值设置为2019-7-19 11:11:11,允许以数字或者字符串,MySQL会将其自动转换,其具体要求可以阅读MySQL中的日期时间类型
create table time(
ts timestamp default '2019-7-19 11:11:11',
dt datetime default 20190719111111);
  • 设置初始化值为当前时间戳,这里的now()与current_timestamp、current_timestamp()、localtime、loacltime()、localtimestamp、localt
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值