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(),
相关推荐
qq_366086221 分钟前
sql server OUTER APPLY使用
数据库·sql·mysql
Sunshine for you2 分钟前
使用Flask快速搭建轻量级Web应用
jvm·数据库·python
qwehjk20085 分钟前
如何从Python初学者进阶为专家?
jvm·数据库·python
zzh0819 分钟前
Mysql数据库备份与恢复笔记
数据库·笔记·mysql
枕布响丸辣22 分钟前
MySQL 数据库备份与恢复全攻略:从基础到实战
数据库·oracle
dgvri26 分钟前
Linux(CentOS)安装 MySQL
linux·mysql·centos
IvorySQL26 分钟前
PostgreSQL 技术日报 (3月31日)|五大内核模块补丁评审与问题修复汇总
数据库·postgresql·开源
IvorySQL31 分钟前
最后 1 天!HOW 2026 早鸟票收官,赴济南解锁开源数据库未来
数据库·postgresql·开源
PacosonSWJTU41 分钟前
(转)mybatis拦截器
数据库·redis·mybatis
yitian_hm1 小时前
HBase 原理深度剖析:从数据模型到存储机制
大数据·数据库·hbase