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'); -- 格式化时间

相关推荐
星辰_mya11 分钟前
redis集群
数据库·redis·缓存
编程小Y34 分钟前
MySQL原理
数据库·mysql
小石头 100861 小时前
MySQL 视图:把复杂变简单的“虚拟化”艺术
数据库·mysql
安当加密1 小时前
PostgreSQL 透明数据加密(TDE)方案与应用场景详解
数据库·postgresql
怪我冷i2 小时前
dbeaver如何连接PostgreSQL数据库
数据库·ai编程·ai写作
QH_ShareHub2 小时前
如何使用 NHANES 数据库
数据库
wuhen_n2 小时前
系统架构设计师(三):数据库系统
数据库·系统架构
DB虚空行者2 小时前
MySQL误删/批量更新数据恢复实战:基于Flashback工具的完整方案
数据库·mysql
IvorySQL2 小时前
外键的本质竟然是触发器?深入解析 PostgreSQL 约束底层
数据库·postgresql·开源
九皇叔叔2 小时前
MySQL Next-Key Lock 锁表事故全拆解(从现象到根治)
数据库·mysql