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(),
相关推荐
兮动人23 分钟前
【mysql】流程控制
数据库·mysql
爱吃土豆的程序员28 分钟前
flowable mysql 表名大小写问题
linux·windows·mysql·flowable
redemption_239 分钟前
超市管理系统(javaweb+mysql+redis)
java·mysql
程序员谷美1 小时前
Mysql 性能优化:索引条件下推(ICP)
数据库·mysql·索引
一心只为学1 小时前
pgpool配置安装之服务器的配置
运维·数据库·postgresql·pgpool
码农君莫笑2 小时前
加密 SQLite 数据库管理研究
数据库·sql·sqlite
鸿永与2 小时前
『SQLite』约束怎么用
数据库·sqlite
liuzhilongDBA2 小时前
pg数据库运维经验2024
运维·数据库
命运之手3 小时前
[ Java ] Install MySQL on Mac
java·mysql·macos
背太阳的牧羊人3 小时前
使用 SQLite3 的基本操作步骤
数据库·sqlite