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(),
相关推荐
C++chaofan4 小时前
项目中基于redis实现缓存
java·数据库·spring boot·redis·spring·缓存
普通网友4 小时前
使用Python进行PDF文件的处理与操作
jvm·数据库·python
普通网友5 小时前
编写一个Python脚本自动下载壁纸
jvm·数据库·python
桦06 小时前
【MySQL】视图
数据库·mysql
瀚高PG实验室6 小时前
安全版普通用户获取系统对象的访问权限
数据库·安全·瀚高数据库
yy7634966686 小时前
Teigha删除操作完全指南 | 安全彻底清理DWG文件,避免数据灾难!
数据库·安全
RPA机器人就选八爪鱼6 小时前
RPA财务机器人:重塑财务效率,数字化转型的核心利器
大数据·数据库·人工智能·机器人·rpa
小猪绝不放弃.6 小时前
数据库视图的作用分析
数据库
k***12176 小时前
从 SQL 语句到数据库操作
数据库·sql·oracle
a***11356 小时前
使用Django Rest Framework构建API
数据库·django·sqlite