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(),
相关推荐
dreams_dream6 分钟前
MySQL 主从复制(小白友好 + 企业级)
android·数据库·mysql
XLYcmy10 分钟前
智能体大赛 技术架构 数据根基层
数据库·ai·llm·api·agent·幻觉·万方
014-code17 分钟前
MySQL 事务隔离级别
java·数据库·mysql
Je1lyfish25 分钟前
CMU15-445 (2026 Spring) Project#1 - Buffer Pool Manager
linux·数据库·c++·后端·链表·课程设计·数据库架构
Re.不晚35 分钟前
Redis——哨兵机制
数据库·redis·bootstrap
代码星辰1 小时前
MySQL 面试题——深度分页优化
数据库·mysql·覆盖索引·深度分页
散装DBA1 小时前
OpenClaw+钉钉机器人实现数据库操作
数据库·机器人·钉钉
哈库纳玛塔塔1 小时前
公元前日期处理的两种方案
数据库·算法·mybatis
XLYcmy2 小时前
智能体大赛 核心功能 可信文献检索与系统性知识梳理
数据库·ai·llm·prompt·知识图谱·agent·检索
逻辑君2 小时前
如何在PostgreSQL里删除和增加数据库
数据库·postgresql