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(),
相关推荐
Johny_Zhao14 分钟前
阿里云数据库Inventory Hint技术分析
linux·mysql·信息安全·云计算·系统运维
loserkk18 分钟前
MySQL InnoDB 5.7 索引失效场景解析:原理与案例
mysql
小屁孩大帅-杨一凡24 分钟前
在 Oracle 中,创建不同类型索引的 SQL 语法
数据库·sql·oracle
西柚小萌新25 分钟前
【大模型:知识图谱】--5.neo4j数据库管理(cypher语法2)
数据库·知识图谱·neo4j
艾醒(AiXing-w)25 分钟前
探索大语言模型(LLM):RSE流程详解——从文档中精准识别高相关片段
数据库·人工智能·语言模型
AI.NET 极客圈1 小时前
.NET 原生驾驭 AI 新基建实战系列(六):Pinecone ── 托管向量数据库的向量数据库的云原生先锋
数据库·人工智能·.net
码农开荒路1 小时前
Redis底层数据结构之字典(Dict)
java·数据结构·数据库·redis
编程大全1 小时前
41道Django高频题整理(附答案背诵版)
数据库·django·sqlite
孙克旭_2 小时前
day028-Shell自动化编程-判断进阶
linux·运维·数据库·自动化
L.S.V.2 小时前
MYSQL(三)--服务器启动参数与配置
服务器·数据库·mysql