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(),
相关推荐
q***735517 分钟前
在Spring Boot项目中使用MySQL数据库
数据库·spring boot·mysql
z***026017 分钟前
GaussDB数据库中SQL诊断解析之配置SQL限流
数据库·sql·gaussdb
s***558120 分钟前
【MySQL】RedHat8安装mysql9.1
数据库·mysql·adb
笨笨没好名字24 分钟前
AI4CAD:用python+creo实现批量参数建模(creo二次开发示例)
数据库·python·microsoft
f***453225 分钟前
PostgreSQL常用时间函数与时间计算提取示例说明
数据库·postgresql
e***v35627 分钟前
redis分页查询
数据库·redis·缓存
9***446332 分钟前
MSSQL2022的一个错误:未在本地计算机上注册“Microsoft.ACE.OLEDB.16.0”提供程序
数据库·microsoft
红石榴花生油32 分钟前
RBAC权限配置 核心笔记
数据库·windows·笔记
TracyCoder12334 分钟前
MySQL 实战宝典(九):Sharding-JDBC分库分表框架解析
数据库·mysql
W***533137 分钟前
MySQL 与 Redis 的数据一致性问题
数据库·redis·mysql