一、背景
本文主要測試MySQL執(zhí)行update語句時,針對與原數(shù)據(即未修改)相同的update語句會在MySQL內部重新執(zhí)行嗎?
二、測試環(huán)境
MySQL5.7.25
Centos 7.4
三、binlog_format為ROW
1、參數(shù)

2、測試步驟
session1

session2

session1

3、總結
在binlog_format=row和binlog_row_image=FULL時,由于MySQL 需要在 binlog 里面記錄所有的字段,所以在讀數(shù)據的時候就會把所有數(shù)據都讀出來,那么重復數(shù)據的update不會執(zhí)行。即MySQL 調用了 InnoDB 引擎提供的“修改為 (1,55)”這個接口,但是引擎發(fā)現(xiàn)值與原來相同,不更新,直接返回。
四、binlog_format為STATEMENT
1、參數(shù)

2、測試步驟
session1

session2

session1

3、總結
在binlog_format=statement和binlog_row_image=FULL時,InnoDB內部認真執(zhí)行了update語句,即“把這個值修改成 (1,999)“這個操作,該加鎖的加鎖,該更新的更新。
-
編程
+關注
關注
90文章
3708瀏覽量
96767 -
代碼
+關注
關注
30文章
4941瀏覽量
73151 -
MySQL
+關注
關注
1文章
897瀏覽量
29239
原文標題:MySQL 中 update 修改數(shù)據與原數(shù)據相同會再次執(zhí)行嗎?
文章出處:【微信號:DBDevs,微信公眾號:數(shù)據分析與開發(fā)】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
請問如何將前面板的數(shù)據鎖定 讓用戶無法修改數(shù)據值 謝謝!
修改數(shù)據庫數(shù)據
TDMS文件修改數(shù)據
【EVB-335X-II試用體驗】之QT遠程訪問MySql數(shù)據庫(交叉編譯MySql QT客戶端驅動程序及功能測試)
《Visual C# 2008程序設計經典案例設計與實現(xiàn)》---動態(tài)修改數(shù)據庫數(shù)據信息
springboo修改數(shù)據源為Druid
如何使用Labwindow CVI軟件平臺進行Mysql數(shù)據庫開發(fā)
select語句和update語句分別是怎么執(zhí)行的

MySQL中update修改數(shù)據與原數(shù)據相同是否會再次執(zhí)行
評論