您当前的位置: 首页 >  sql

知其黑、受其白

暂无认证

  • 0浏览

    0关注

    1250博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

MySQL 自动获取当前时间,且 timestamp 类型与 datetime 类型的区别

知其黑、受其白 发布时间:2021-01-28 19:37:37 ,浏览量:0

一、MySQL中如何表示当前时间?

其实,表达方式还是蛮多的,汇总如下:

CURRENT_TIMESTAMP
CURRENT_TIMESTAMP()
NOW()
LOCALTIME
LOCALTIME()
LOCALTIMESTAMP
LOCALTIMESTAMP()
TIMESTAMP 和 DATETIME 的不同点: 1 两者的存储方式不一样

对于TIMESTAMP,它把客户端插入的时间从当前时区转化为 UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回。

而对于 DATETIME,不做任何改变,基本上是原样输入和输出。

(修改时区后就会有不同)

2 两者所能存储的时间范围不一样

timestamp 所能存储的时间范围为: '1970-01-01 00:00:01.000000' 到 '2038-01-19 03:14:07.999999'

datetime 所能存储的时间范围为: '1000-01-01 00:00:00.000000' 到 '9999-12-31 23:59:59.999999'

总结

TIMESTAMP 和 DATETIME 除了存储范围和存储方式不一样,没有太大区别。当然,对于跨时区的业务,TIMESTAMP 更为合适。

关于 TIMESTAMP 和 DATETIME 的自动初始化和更新

应用场景:

1、在数据表中,要记录每条数据是什么时候创建的,不需要应用程序去特意记录,而由数据数据库获取当前时间自动记录创建时间;

2、在数据库中,要记录每条数据是什么时候修改的,不需要应用程序去特意记录,而由数据数据库获取当前时间自动记录修改时间;

实现方式:

1、将字段类型设为 TIMESTAMP 或 DATETIME

2、将默认值设为 CURRENT_TIMESTAMP

关注
打赏
1665558895
查看更多评论
立即登录/注册

微信扫码登录

0.0743s