0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MySQL中update修改数据与原数据相同是否会再次执行

电子工程师 来源:fqj 2019-05-06 10:45 次阅读

一、背景

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

二、测试环境

MySQL5.7.25

Centos 7.4

三、binlog_format为ROW

1、参数

MySQL中update修改数据与原数据相同是否会再次执行

2、测试步骤

session1

MySQL中update修改数据与原数据相同是否会再次执行

session2

MySQL中update修改数据与原数据相同是否会再次执行

session1

MySQL中update修改数据与原数据相同是否会再次执行

3、总结

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

四、binlog_format为STATEMENT

1、参数

MySQL中update修改数据与原数据相同是否会再次执行

2、测试步骤

session1

MySQL中update修改数据与原数据相同是否会再次执行

session2

MySQL中update修改数据与原数据相同是否会再次执行

session1

MySQL中update修改数据与原数据相同是否会再次执行

3、总结

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    88

    文章

    3437

    浏览量

    92301
  • 代码
    +关注

    关注

    30

    文章

    4547

    浏览量

    66608
  • MySQL
    +关注

    关注

    1

    文章

    773

    浏览量

    25973

原文标题:MySQL 中 update 修改数据与原数据相同会再次执行吗?

文章出处:【微信号:DBDevs,微信公众号:数据分析与开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    MYSQL8数据库核心基础16-Mysql-修改数据库密码

    MySQLMYSQL数据
    电子学习
    发布于 :2023年01月16日 15:29:58

    labview 修改数数据

    如何修改数组高亮行的列数据?非常感谢!
    发表于 05-07 18:44

    请问如何将前面板的数据锁定 让用户无法修改数据值 谢谢!

    现需要将前面板所有参数数据锁定 让用户无法修改数据值 只能通过程序读取保存在文档数据。 请问大神 怎样才能简单方便的实现呢?
    发表于 04-10 22:28

    修改数据数据

    刚学labview,想问一下怎么在前面板添加一个选项,可以显示并更改数据数据。最好有程序图,谢谢。
    发表于 09-15 10:23

    TDMS文件修改数据

    各位大神,有谁知道TDMS格式文件怎么修改里面的数据后还能保存为TDMS格式啊?我用excel可以修改,但是修改完后无法再次保存为TDMS格
    发表于 03-21 23:15

    【EVB-335X-II试用体验】之QT远程访问MySql数据库(交叉编译MySql QT客户端驱动程序及功能测试)

    部分。该文件中共有4处。千万别缺,否则编译会出错了,找到4处相同的.修改后保存退出。 主要上述代码的echo是我们自己加上去的,必须有,否则编译报错。3) 配置MySql
    发表于 07-04 00:28

    《Visual C# 2008程序设计经典案例设计与实现》---动态修改数据数据信息

    《Visual C# 2008程序设计经典案例设计与实现》---动态修改数据数据信息.zip
    发表于 06-25 16:32

    如何在labview去修改数据的table名

    如何基于labview的Database去修改数据的table名。其他方法也可以
    发表于 03-07 16:10

    数据库操作时,为什么写入的数据库的是上一次的值

    程序开始已经初始化了程序框图如下执行修改命令,数据库是按照上次文本框的内容修改数据库的值。再次修改
    发表于 04-23 15:32

    springboo修改数据源为Druid

    springboo修改数据源Druid整合mybatis 使用Mybatis-Generator插件生成代码和分页插件
    发表于 05-05 14:45

    binlog有什么意义/工作模式/优缺点

    记录的修改来记录,产生大量的日志内容  statement模式:  每一条修改数据的SQL都会记录master的bin-log,slave在复制的时候SQL进程
    发表于 01-29 17:24

    JAVA教程之修改数据

    JAVA教程之修改数据库,很好的JAVA的资料,快来学习吧。
    发表于 04-12 17:55 7次下载

    select语句和update语句分别是怎么执行

    一样,但是具体的实现还是有区别的。 当然深入了解select和update的具体区别并不是只为了面试,当希望Mysql能够高效的执行的时候,最好的办法就是清楚的了解Mysql是如何
    的头像 发表于 11-03 09:41 3211次阅读
    select语句和<b class='flag-5'>update</b>语句分别是怎么<b class='flag-5'>执行</b>的

    是否MySQL数据库中的事务已经有所了解呢?

    是否MySQL 数据库中的事务已经有所了解?看下面这张图,按照 1~6 的顺序依次执行,在RR隔离级别下,事务 A 和事务 B 各自输出的 num 值是多少吗?
    的头像 发表于 02-21 17:20 271次阅读

    weblogic修改数据源需要重启吗

    WebLogic是一款支持Java EE(Java Enterprise Edition)规范的应用服务器,通过WebLogic可进行数据源的配置和管理。在WebLogic中修改数据是否需要重启
    的头像 发表于 12-05 16:09 409次阅读