一、背景

本文主要测试MySQL执行update语句时,针对与原数据(即未修改)相同的update语句会在MySQL内部重新执行吗?

二、测试环境

MySQL5.7.25

Centos 7.4

三、binlog_format为ROW

1、参数

2、测试步骤

session1

session2

session1

3、总结

在binlog_format=row和binlog_row_image=FULL时,由于MySQL 需要在 binlog 里面记录所有的字段,所以在读数据的时候就会把所有数据都读出来,那么重复数据的update不会执行。即MySQL 调用了 InnoDB 引擎提供的“修改为 (1,55)”这个接口,但是引擎发现值与原来相同,不更新,直接返回。

四、binlog_format为STATEMENT

1、参数

2、测试步骤

session1

session2

session1

3、总结

在binlog_format=statement和binlog_row_image=FULL时,InnoDB内部认真执行了update语句,即“把这个值修改成 (1,999)“这个操作,该加锁的加锁,该更新的更新。

【编辑推荐】

【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0

mysql当数据改变时_MySQL中,当update修改数据与原数据相同时会再次执行吗?相关推荐

  1. mysql不同连接的事务_mysql中不同事务隔离级别下数据的显示效果--转载

    事务是一组原子性的SQL查询语句,也可以被看做一个工作单元.如果数据库引擎能够成功地对数据库应用所有的查询语句,它就会执行所有查询,如果任何一条查询语句因为崩溃或其他原因而无法执行,那么所有的语句就都 ...

  2. mysql update返回_MySQL中,当update修改数据与原数据相同时会再次执行吗?

    本文同步Java知音社区,专注于Java 作者:powdbahttps://yq.aliyun.com/articles/694162 一.背景 本文主要测试MySQL执行update语句时,针对与原 ...

  3. mysql删除完全重复数据库_MySQL中删除完全重复数据的准确SQL语句

    案例: id姓名课程名称分数1张三数学692李四数学893张三数学69删除除了自动编号不同,其他都相同的学生冗余信息 ----------------------------------------- ...

  4. mysql的explain怎么看_mysql中explain用法详解

    如果在select语句前放上关键词explain,mysql将解释它如何处理select,提供有关表如何联接和联接的次序. explain的每个输出行提供一个表的相关信息,并且每个行包括下面的列: 1 ...

  5. mysql内嵌插入语句_MySQL中添加或插入语句(Insert)的几种使用方式

    MySQL中添加或插入语句(Insert)的几种使用方式 1.INSERT 简写方式插入数据(不推荐) 1.先看一下表中有那些数据 2.使用Inset into 表名 values(值1,值2)进行插 ...

  6. mysql时间戳是什么意思_mysql中TIMESTAMP时间戳详解

    在mysql数据库中,时间戳TIMESTAMP有如下的一些变体: 1,TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 在 ...

  7. mysql begin end 批量更新_MySql中4种批量更新的方法

    1.replace into 批量更新 replace into test_tbl (id,dr) values (1,'2'),(2,'3'),...(x,'y');例: replace into ...

  8. MySQL中,当 update 修改数据与原数据相同时会再次执行吗?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | powdba 来源 | https://yq. ...

  9. mysql按升序创建索引_Mysql中的降序索引底层实现

    什么是降序索引 大家可能对索引比较熟悉,而对降序索引比较陌生,事实上降序索引是索引的子集. 我们通常使用下面的语句来创建一个索引: 上面sql的意思是在t1表中,针对b,c,d三个字段创建一个联合索引 ...

最新文章

  1. Java 类的生命周期详解
  2. 怎么样清除bitcoin-qt的交易记录
  3. 计算程序执行时间的函数
  4. 如何在ABAP里用函数式编程思想打印出非波拉契Fibonacci(数列)
  5. (笔记)Linux服务器中判断客户端socket断开连接的方法
  6. C语言之unsigned char和uint8_t
  7. 今晚课题:2019-3-20
  8. eclipse--eclipse(JavaEE版本)部署Tomcat工程(转)
  9. (Python)Pandas reset_index()用法总结
  10. ASP.NET中的事件处理
  11. jquery-添加/删除cookie
  12. python函数内部返回的值_在Python中将内部函数的返回值传递给外部函数?
  13. [Java] 利用xpdf库获取pdf文件的指定范围文本内容
  14. win10电脑插入U盘提示文件或目录损坏了如何解决
  15. 【分析】Ceph数据一致性检查 - Scrub的执行
  16. mysql gone away的几种原因
  17. 敏捷项目管理传统项目管理的区别
  18. 天下武功无坚不破,唯快不破!
  19. 三连击(升级版)题解(洛谷P1618)
  20. OPEX推出新一代货到人仓库自动化技术——Infinity ASRS

热门文章

  1. 生产者消费者--TestPC.java
  2. DAS、NAS、SAN区别
  3. ms SQL Server表自增字段重置
  4. 趣味问题:你能用Reflection.Emit生成这段代码吗?
  5. html社交模板,Olympus – 社交网HTML静态模板
  6. hadoop 写入mysql_使用MapReducer将文件写入mysql 数据库
  7. jsp mysql修改密码_Servlet+JSP+MySQL实现用户管理模块之七、实现用户信息更新和重置密码...
  8. Linux记起始和结束时间,Linux历史命令的记住执行时间
  9. linux中xargs用法,Linux中xargs的用法
  10. php制表网页打印到a4纸,A4纸网页打印 html网页页面的宽度设置成多少