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(),
相关推荐
g***727013 分钟前
从MySQL迁移到PostgreSQL的完整指南
数据库·mysql·postgresql
IT教程资源D19 分钟前
[N_129]基于springboot,vue学生宿舍管理系统
mysql·vue·前后端分离·springboot宿舍·宿舍管理系统
冷雨夜中漫步30 分钟前
Maven BOM(Bill of Materials)使用指南与常见错误
java·数据库·maven
hanyi_qwe36 分钟前
Mysql主从复制与读写分离测试
数据库·mysql
梁bk38 分钟前
Redis 通信协议(RESP)
数据库·redis·缓存
思成不止于此43 分钟前
MySQL 约束详解:保证数据完整性的核心机制
数据库·笔记·学习·mysql
伐尘1 小时前
【MySQL】windows系统下mysql慢日志查询
windows·mysql·adb
理想三旬1 小时前
数据定义:模式、表、索引
数据库
c***87191 小时前
讲解进阶之路:模块、包和异常处理-上篇
数据库·redis·哈希算法
!chen1 小时前
Oracle分区表+本地索引 核心优化方案
数据库·oracle