当前位置: 首页 > news >正文

MySQL 学习 之 你还在用 TIMESTAMP 吗?

目录

  • 1. 弊端
    • 1.1. 取值范围
    • 1.2. 时区依赖
    • 1.3. 隐式转换
  • 2. 区别
  • 3. 解决

1. 弊端

1.1. 取值范围

TIMESTAMP 的取值范围为 1970-01-01 00:00:01 UTC2038-01-19 03:14:07 UTC,超出范围的数据会被强制归零或触发异常‌。

具体表现为在基金债券等业务中,到期日可能是一个比较晚的未来的时间,很可能就会出现超出 TIMESTAMP 范围的时间。

现在已经 2025 年了,系统崩溃只在眨眼之间!!!

1.2. 时区依赖

存入时自动转换为 UTC 时间,查询时根据会话时区转换回本地时间。若时区配置不一致,同一时间在不同服务器显示结果不同‌

1.3. 隐式转换

存入 NULL 会自动填充为当前时间

2. 区别

特性TIMESTAMPDATETIME
存储机制整数(Unix 时间戳)字符串(YYYY-MM-DD HH:MM:SS
存储空间4 字节(旧版)或 7 字节(MySQL 5.6+)8 字节
时区处理自动转换为 UTC 存储并转换回会话时区无视时区,直接存储原始值
取值范围1970-01-01 00:00:01 ~ 2038-01-19 03:14:071000-01-01 00:00:00 ~ 9999-12-31 23:59:59
默认值支持支持 CURRENT_TIMESTAMP 自动初始化需显式声明
2038 年问题❗ 2038 年后溢出✅ 无此限制
NULL 处理自动填充为当前时间保持 NULL

3. 解决

2038 年后必须迁移至 DATETIME;跨国系统优先 DATETIME 减少时区风险‌。

http://www.lryc.cn/news/579699.html

相关文章:

  • Functionize 结合了 AI 与云平台的现代化自动化测试工具
  • MySQL 8.0 OCP 1Z0-908 题目解析(16)
  • curl for android
  • 高通QCS8550部署Yolov10模型与性能测试
  • ADC笔试面试题型和详细解析下
  • 蒙特卡洛方法:随机抽样的艺术与科学
  • c++ 的标准库 --- std::
  • {{ }}和v-on:click
  • 重学React(二):添加交互
  • 前端单元测试覆盖率工具有哪些,分别有什么优缺点
  • 鸿蒙操作系统核心特性解析:从分布式架构到高效开发的全景技术图谱
  • 深度学习-逻辑回归
  • 异步Websocket构建聊天室
  • 认识kubernetes kubeadm安装k8s
  • 触发器设计美国VPS:优化数据库性能的关键策略
  • 基于连接感知的实时困倦分类图神经网络
  • 云计算中的tap口、bond口、qr口:它们究竟有何玄机?
  • 配置diffusion policy并测试和训练 pushT demo模型
  • 一天两道力扣(1)
  • 【进阶篇-消息队列】——Kafka如何实现事务的
  • Element 的 Message 多个显示时,只显示一个的封装办法
  • LeetCode 317 最短距离选址问题详解(Swift 实现 + BFS 多源遍历)
  • 从 TCP/IP 协议栈角度深入分析网络文件系统 (NFS)
  • MySQL的窗口函数介绍
  • 基于SpringBoot+Vue的酒类仓储管理系统
  • 【网络协议】WebSocket简介
  • 【tensorflow2.6.0 一系列相关报错记录】
  • 关于微前端框架micro,子应用设置--el-primary-color失效的问题
  • Linux性能分析工具
  • Oracle:报错jdbc:oracle:thin:@IP地址:端口:实例名, errorCode 28001, state 99999