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(),
相关推荐
Pocker_Spades_A8 小时前
Oracle向KingbaseES迁移:核心痛点拆解与根源分析
数据库·oracle
被星1砸昏头9 小时前
掌握Python魔法方法(Magic Methods)
jvm·数据库·python
XT46259 小时前
交易、订单轮询策略(能用数据库轮询解决的不用Redis,能用Redis解决的不用消息队列)
数据库·redis·bootstrap
周某人姓周9 小时前
sqlilabs靶场通关详解
数据库·mysql·安全·网络安全
ZeroNews内网穿透9 小时前
远程访问SQLITE-WEB服务
数据库·sqlite
霖霖总总9 小时前
[小技巧41]InnoDB 如何判断一行数据是否可见?MVCC 可见性机制深度解析
数据库·mysql
偷星星的贼1110 小时前
数据分析与科学计算
jvm·数据库·python
Suchadar10 小时前
数据库DATABSE——sql server
数据库
檀越剑指大厂11 小时前
迁移之路的隐形陷阱:破解Oracle数据库国产化替代的核心痛点与策略
数据库·oracle
wWYy.11 小时前
详解redis(1)
数据库·redis·缓存