mysql低版本中update_time不自动更新问题

在mysql低版本时,update_time只有插入时才会自动插入当前时间,更新不会改变。

  1. MySQL 5.7 及以上版本对于TIMESTAMP类型字段有自动更新功能相关特性
  2. 在 MySQL 5.7以上版本 中,如果将一个TIMESTAMP类型的列设置为ON UPDATE CURRENT_TIMESTAMP属性,那么在该行数据被更新时,该列会自动更新为当前时间。例如,假设有一个表test_table,结构如下:
sql 复制代码
CREATE TABLE test_table (
    id INT PRIMARY KEY AUTO_INCREMENT,
    data VARCHAR(255),
    update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
  • 当执行更新语句,如UPDATE test_table SET data = 'new data' WHERE id = 1;时,update_time列的值会自动更新为更新操作执行时的时间。

如果想要用低版本来实现update_time自动更新,两种常用方法。

  1. 一种是作为参数传入,和其他字段一样传入更新。

  2. 另一种就是利用数据库时间。

sql 复制代码
 update_time = NOW(),
相关推荐
南棱笑笑生4 分钟前
20260310解决瑞芯微原厂RK3576的Android14刷入乐晓电子的K7开发板后适配ADB连接
数据库·rockchip
兴通扫码设备4 分钟前
ocr工业场景适配升级:深圳市兴通物联XTC8501智能相机接口与环境适应性技术解析
数据库·人工智能·深度学习·数码相机·计算机视觉
白云偷星子4 分钟前
云原生笔记6
linux·运维·笔记·mysql·云原生
jason_renyu6 分钟前
Windows 系统安装配置 MySQL 服务(含多端口/多实例管理)
windows·mysql·windows安装mysql·windows配置mysql·mysql多端口配置
艾莉丝努力练剑8 分钟前
【QT】常用控件(一):初识控件,熟悉QWidget
android·linux·数据库·qt·学习·mysql·qt5
艾莉丝努力练剑24 分钟前
MySQL查看命令速查表
linux·运维·服务器·网络·数据库·人工智能·mysql
码luffyliu35 分钟前
踩坑记:Go + MySQL 时区处理导致时间显示差 8 小时
mysql·go
拾贰_C38 分钟前
【CentOS | MySQL | uninstall】关于安装的MySQL与系统版本不匹配问题,MySQL卸载与重装
mysql·adb·centos
高铭杰41 分钟前
Postgresql源码(157)Redo系列MultiXact Redo (RM_MULTIXACT_ID = 6)
数据库·postgresql
05大叔1 小时前
mysql 触发器,锁
数据库·mysql·oracle