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(),
相关推荐
l1t1 小时前
在Windows的WSL中试用GizmoSQL UI连接GizmoSQL数据库服务器
数据库·windows·ui
2301_811232981 小时前
使用Python进行PDF文件的处理与操作
jvm·数据库·python
Wzx1980121 小时前
go聊天室接入mysql的项目docker部署流程
mysql·docker·golang
梦想的旅途21 小时前
企微全自动化运营的可视化与度量
数据库·mysql
jiunian_cn1 小时前
【Redis】string数据类型相关指令
数据库·redis·缓存
定偶1 小时前
C语言操作MYSQL
c语言·mysql·adb
无限码力1 小时前
华为OD技术面真题 - 数据库MySQL - 2
数据库·华为od·华为od技术面真题·华为od技术面八股·华为od面试八股文·华为od技术面mysql问题
只是懒得想了1 小时前
Go语言ORM深度解析:GORM、XORM与entgo实战对比及最佳实践
开发语言·数据库·后端·golang
半熟的皮皮虾1 小时前
Excel2SQL的自动转SQL工具功能升级
数据库·sql·信息可视化
掘根1 小时前
【jsonRpc项目】Registry-Discovery模块
运维·服务器·数据库