mysql timestamp有关于2038年的限制

2024-3-20 鉴于有人不懂,补充一下背景:

目前很多人使用的mysql版本中,timestamp类型只能存储到2038-01-19的值,具体原理网上一大堆,就不赘述了。此处说的是想要解决这个问题的方案。

1、改datetime当然是一了百了,但是如果需要设置default,则需要mysql版本在5.6及以上;

alter table payment modify create_time datetime default CURRENT_TIMESTAMP null comment '创建时间';
alter table payment modify update_time datetime null default current_timestamp on update CURRENT_TIMESTAMP comment '更新时间';
 

2、不改变数据类型的方案。网上一堆说原理的,有屁用,还有一些说设置sql_mode之类的,去设置了屁用没有。就像java代码里面不写import的哪个jar包,.net不说引用哪个dll,  数据库涉及版本的不说版本号的都是耍流氓。8.0.28以后,且跑在64系统上的才能存储2038后的数据;

因为咱还没有8.0.28的版本,所以后面的情况还不知道,以后有了验证了再来补充。

没有到8.2.28版本的老老实实采用第一种方案。

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值