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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 用于App服务端的MySQL连接池(支持高并发)

    用于App服务端的MySQL连接池(支持高并发)

    这篇文章主要介绍了用于App服务端的MySQL连接池,并支持高并发,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-12-12
  • mysql查询条件not in 和 in的区别及原因说明

    mysql查询条件not in 和 in的区别及原因说明

    这篇文章主要介绍了mysql查询条件not in 和 in的区别及原因说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • mysql如何在线修改主从复制选项

    mysql如何在线修改主从复制选项

    这篇文章主要介绍了mysql如何在线修改主从复制选项,帮助大家更好的理解和学习mysql,感兴趣的朋友可以了解下
    2020-08-08
  • MySQL会发生死锁的几种情况及处理方法

    MySQL会发生死锁的几种情况及处理方法

    数据库的死锁是指不同的事务在获取资源时相互等待,导致无法继续执行的一种情况,当发生死锁时,数据库系统会自动中断其中一个事务,以解除死锁,本文给大家介绍了MySQL什么情况下会死锁,发生了死锁怎么处理呢,需要的朋友可以参考下
    2023-09-09
  • MySQL Workbench基本用法超详细教程

    MySQL Workbench基本用法超详细教程

    本文详细讲解了MySQL Workbench基本用法,本文通过图文实例相结合给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-03-03
  • MySQL海量数据(2亿级表字段)无损更新方案

    MySQL海量数据(2亿级表字段)无损更新方案

    在大型互联网应用中,数据表动辄达到亿级规模,当需要对生产环境中的海量表进行字段更新时,如何在不影响业务正常读写的情况下完成任务,是每个DBA和开发者都会面临的挑战,本文将以一个真实案例详细讲解四种渐进式更新方案及其实现原理,需要的朋友可以参考下
    2025-04-04
  • mysql存数组的实例代码和方法

    mysql存数组的实例代码和方法

    在本文中我们给大家整理了关于mysql存数组的实例代码和方法以及相关知识点,有需要的朋友们跟着学习下。
    2019-05-05
  • MySQL中find_in_set()函数用法示例详解

    MySQL中find_in_set()函数用法示例详解

    find_in_set这个是mysql的一个函数,见得比较少,下面这篇文章主要给大家介绍了关于MySQL中find_in_set()函数用法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • MySQL敏感数据加密的实现方案

    MySQL敏感数据加密的实现方案

    这篇文章主要介绍了MySQL敏感数据加密的实现方案,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2024-02-02
  • mysql 8.0.20 安装配置详细教程

    mysql 8.0.20 安装配置详细教程

    这篇文章主要为大家详细介绍了mysql 8.0.20 安装配置详细教程,文中安装步骤介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05

最新评论