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(),
相关推荐
禹凕37 分钟前
MySQL——基础知识(正则表达式)
数据库·mysql·正则表达式
SmartBrain2 小时前
FastAPI实战(第三部分):浏览历史的接口开发详解
数据库·人工智能·aigc·fastapi
山岚的运维笔记2 小时前
SQL Server笔记 -- 第77章:文件组
数据库·笔记·sql·microsoft·oracle·sqlserver
有点心急10213 小时前
Python 入门
服务器·数据库·python
独泪了无痕3 小时前
Mac Homebrew 安装 MySQL 指南
数据库·mysql·mac
l1t3 小时前
DeepSeek总结的PostgreSQL 19新功能:第二部分
数据库·postgresql
fchampion3 小时前
MYSQL自学笔记
数据库·笔记·mysql
XiaoHu02073 小时前
MySQL基础(第一弹)
数据库·c++·mysql
惜分飞4 小时前
rose双机引起文件系统损坏使得数据库异常故障处理---惜分飞
数据库·oracle
小小工匠4 小时前
大模型开发 - SpringAI之MySQL存储ChatMemory
mysql·spring ai