MYSQL ON UPDATE CURRENT_TIMESTAMP当字段值发生改变时才会更新记录的时间

 更新时间:2023年01月05日 09:09:23   作者:你这个无聊的小demo  
本文主要介绍了MYSQL ON UPDATE CURRENT_TIMESTAMP当字段值发生改变时才会更新记录的时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

疑惑

今天看到一个博客说:时间戳有ON UPDATE CURRENT_TIMESTAMP属性,无论值有没有改变时间都会更新 (下面是别人博客的截图)

在这里插入图片描述

表示疑惑,于是动手建表写字段验证了一波。

验证

1. 建表:

设置upd_time的类型为timestamp时间戳类型,并设置默认值为DEFAULT CURRENT_TIMESTAMP,且设置ON UPDATE CURRENT_TIMESTAMP,记录发生变化时也要更新该时间戳。

CREATE TABLE `t_temp` (
  `id` int(11) NOT NULL DEFAULT '0',
  `username` varchar(255) DEFAULT NULL,
  `upd_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '默认取当前时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


不想写建表的sql的话,也可以用Navicat帮你建表,如图,注意细节:

在这里插入图片描述

2. 表建好了,随便加条记录,如图:

PS:留意一下这条记录的id 和 upd_time字段的值,待会我要更新这条记录,注意看它们的变化

在这里插入图片描述

3. 更新这条id=1的记录,设置username=‘mm’。

即,我虽然对这条记录update了一波,但是并没有改变任何里面任何一个字段的值

在这里插入图片描述

4. 最后,我们刷新一下数据表,看看时间戳有没有发生变化:

可以看到时间戳并未改变

在这里插入图片描述

结论

设置字段属性为时间戳类型,且把默认值设置成CURRENT_TIMESTAMP的情况下。如果你设置了时间随当前时间戳更新( ON UPDATE CURRENT_TIMESTAMP),那么当你更新字段时,只有字段值发生变化了,你的时间字段才会变为UPDATE操作时的时间

补充说明

如果只对字段设置默认值取CURRENT_TIMESTAMP,而没有设置随当前时间戳更新的话(就是建表时不勾选下图中的玩意儿),只有记录创建时会有时间戳,此后对记录的更新操作都不会再改变该记录的时间字段了

在这里插入图片描述

 到此这篇关于MYSQL ON UPDATE CURRENT_TIMESTAMP当字段值发生改变时才会更新记录的时间的文章就介绍到这了,更多相关MYSQL ON UPDATE CURRENT_TIMESTAMP内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于Mysql+JavaSwing的超市商品管理系统设计与实现

    基于Mysql+JavaSwing的超市商品管理系统设计与实现

    本项目是使用Java swing开发,可实现超市管理系统商品列表信息查询、添加商品信息和修改商品管理以及删除商品信息和安装商品信息查询等功能。界面设计和功能比较简单基础、适合作为Java课设设计以及学习技术使用,需要的朋友可以参考一下
    2021-09-09
  • mysql8.0.11 winx64手动安装配置教程

    mysql8.0.11 winx64手动安装配置教程

    这篇文章主要为大家详细介绍了mysql8.0.11 winx64手动安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • MySQL按时间统计数据的方法总结

    MySQL按时间统计数据的方法总结

    在本篇MYSQL的内容里,我们给大家整理了关于按时间统计数据的方法内容,有需要的朋友们学习下。
    2019-02-02
  • mysql踩坑之count distinct多列问题

    mysql踩坑之count distinct多列问题

    这篇文章主要介绍了mysql踩坑之count distinct多列问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 利用JuiceFS使MySQL 备份验证性能提升 10 倍

    利用JuiceFS使MySQL 备份验证性能提升 10 倍

    这篇文章主要介绍了如何让 MySQL 备份验证性能提升 10 倍,JuiceFS 非常适合用来做 MySQL 物理备份,通过不断调整 XtraBackup 的参数和 JuiceFS 的挂载参数,在一个小时内将时间缩短到原先的 1/10,下文一起来看相关内容的详细介绍吧
    2022-03-03
  • mysql清除log-bin日志的方法

    mysql清除log-bin日志的方法

    这篇文章主要介绍了mysql清除log-bin日志的方法,同时介绍了log-bin日志的作用,需要的朋友可以参考下
    2014-06-06
  • MySQL查看主从状态的命令实现

    MySQL查看主从状态的命令实现

    本文主要介绍了MySQL查看主从状态的命令实现,我们可以使用SHOW SLAVE STATUS命令来查看主从状态,本文就来详细的介绍一下如何实现,感兴趣的可以了解一下
    2023-10-10
  • mysql中使用sphinx搜索子域名需注意的问题

    mysql中使用sphinx搜索子域名需注意的问题

    比如搜索jb51.net会把www.jb51.net、jb51.net、sc.jb51.net等都搜索出来
    2013-02-02
  • mysql数据迁移之data目录复制方法

    mysql数据迁移之data目录复制方法

    这篇文章主要给大家介绍了关于mysql数据迁移之data目录复制方法的相关资料,MySQL的data文件是存储数据库的核心文件,它包含了所有的表、索引、视图和其它相关的数据,通过复制这些文件,我们可以将一个MySQL数据库迁移到另一个地方,需要的朋友可以参考下
    2023-08-08
  • mysql从执行.sql文件时处理\n换行的问题

    mysql从执行.sql文件时处理\n换行的问题

    后来注意到,在上面我们恢复数据的时候是在没有连接数据的状态下执行的。
    2009-05-05

最新评论