mysql数据库自动生成默认时间不正确进行校正

引言

查看数据库数据,发现表中自动生成的创建时间不正确,故先使用SELECT CURRENT_TIMESTAMP; sql验证自动生成的时间是否是不正确的。经验证确定是自动生成的时间不正确,进而想到了对时间进行校正。

校正过程

首先查看数据库时间的时区是否是当地的。

SELECT @@global.time_zone, @@session.time_zone;

经查看确认数据库自动生成时间戳所使用的时区是system系统时区。

依赖系统时区耦合性以及不太好判断其准确时区。因此将数据库时间戳所使用的时区进行固定。

SET GLOBAL time_zone = 'Asia/Shanghai';

SET time_zone = 'Asia/Shanghai'; 只对当前会话的时间戳有影响不会对其他连接的会话产生影响。所以不使用这条sql进行更改。

拓展

SELECT NOW(); -- 显示当前日期和时间

SELECT CURDATE(); -- 显示当前日期

SELECT CURTIME(); -- 显示当前时间

SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s'); -- 格式化时间

相关推荐
SelectDB1 分钟前
抖音集团 实时数据仓库:Apache Doris / SelectDB 的技术能力与实践
数据库
SelectDB9 分钟前
网易 日志与时序数据分析:Apache Doris / SelectDB 的技术能力与实践
数据库
weixin_5394467838 分钟前
Navicat Premium 17报缺少ODBC驱动
数据库
这个DBA有点耶39 分钟前
迁移中的数据一致性挑战:如何确保百万行数据“搬得对”
mysql·架构·dba
哦虎!1 小时前
【数据库】事务
java·数据库·mysql
倔强的石头_1 小时前
时序数据库的难题不只在写入速度
数据库
IT古董3 小时前
【WMS学习笔记系列】01-需求分析
大数据·数据库
zlinear数据采集卡3 小时前
数据采集卡从入门到精通(9):分辨率与精度——16位卡不等于1/65536的精度
开发语言·数据库·fpga开发·开源·c#
Mico184 小时前
麒麟v10-MySQL InnoDB Cluster 完整部署与全场景验证(从入门到精通)
数据库·mysql