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(),
相关推荐
2501_945423543 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
gameboy0315 小时前
从MySQL迁移到PostgreSQL的完整指南
数据库·mysql·postgresql
xdl25995 小时前
Spring Boot中集成MyBatis操作数据库详细教程
数据库·spring boot·mybatis
回到原点的码农5 小时前
Spring Data JDBC 详解
java·数据库·spring
zb200641206 小时前
Spring Boot 实战:轻松实现文件上传与下载功能
java·数据库·spring boot
CSharp精选营6 小时前
SQL Server安装避坑:这8个奇葩报错你遇到过几个?
数据库·sql server·安装指南·避坑
一勺菠萝丶6 小时前
Flowable + Spring 集成踩坑:流程结束监听器查询历史任务为空 & 获取不到审批意见
java·数据库·spring
RDCJM6 小时前
mysql表添加索引
数据库·mysql
czlczl200209257 小时前
Redis命令处理逻辑模型
数据库·redis·缓存
楼兰胡杨7 小时前
面试题|MySQL 的 3 层主键索引最多能支撑多少数据量
mysql·面试题