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(),
相关推荐
lhrimperial5 小时前
MySQL底层原理
java·后端·mysql
直有两条腿5 小时前
【Redis】原理-数据结构
数据结构·数据库·redis
韩立学长5 小时前
【开题答辩实录分享】以《植物园信息管理系统》为例进行选题答辩实录分享
java·数据库·spring
共享家95275 小时前
MySQL-基础查询(上)
mysql
问道飞鱼5 小时前
【数据库知识】PGSQL数据类型详细说明
数据库·sql·postgresql
I'm a winner5 小时前
【FreeRTOS实战】互斥锁专题:从理论到STM32应用题
数据库·redis·mysql
Han.miracle5 小时前
数据库圣经-分析 MySQL 事务隔离级别与并发问题
数据结构·mysql·事务
北邮刘老师6 小时前
马斯克的梦想与棋盘:空天地一体的智能体互联网
数据库·人工智能·架构·大模型·智能体·智能体互联网
开开心心_Every6 小时前
优化C盘存储:自定义软件文档保存路径工具
java·网络·数据库·typescript·word·asp.net·excel
醉舞经阁半卷书16 小时前
Etcd服务端参数详解
数据库·etcd