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(),
相关推荐
4***573 分钟前
数据库(MySQL):使用命令从零开始在Navicat创建一个数据库及其数据表(一).创建基础表
数据库·mysql·oracle
啊吧怪不啊吧3 分钟前
SQL之表的字符串内置函数详解
大数据·数据库·sql
F***74175 分钟前
数据库课设---酒店管理系统(MySQL、VBNet)
android·数据库·mysql
1***t82733 分钟前
MySQL 8.0安装
数据库·mysql·adb
U***746935 分钟前
Linux(CentOS)安装 MySQL
linux·mysql·centos
3***g20535 分钟前
Linux系统离线部署MySQL详细教程(带每步骤图文教程)
linux·mysql·adb
c***693037 分钟前
使用mysql报Communications link failure异常解决
数据库·mysql
t***q3342 分钟前
关于Mysql 中 Row size too large (> 8126) 错误的解决和理解
数据库·mysql
马克学长1 小时前
SSM贫困区教育资源捐赠平台m6y9w(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·教育资源捐赠·贫困区帮扶
@游子3 小时前
SQL注入语法和介绍(一)
数据库·oracle