Example verification MySQL | update field with the same value will record binlog

Example verification MySQL | update field with the same value will record binlog

1. Introduction

A few days ago, a development colleague asked me whether updating a field to the same value would record binlog. I replied that it would not.

Strictly speaking, this answer is inaccurate, as it is necessary to distinguish between scenarios. Whether to record update statements in binlog depends on the setting of binlog_format. Practice makes perfect in specific situations.

Second test

2.1 binlog_format is ROW mode

2.2 binlog_format is in STATEMENT mode

Parse the binlog content and record the update statement completely.

2.2 binlog_format is in MIXED mode

When row_format is mixed or statement format, the size of the binlog changes. Regardless of whether the data is actually updated, MySQL records the executed SQL to the binlog.

Three conclusions

In row-based mode, the server layer matches the record to be updated and finds that the new value is consistent with the old value. It does not update the record and returns directly without recording the binlog.

Based on the statement or mixed format, MySQL executes the update statement and records the update statement to the binlog.

So why do statement and mixed record the complete SQL statement? I will explain this in the next article, because I need to parse the source code and have not yet succeeded in compiling the MySQL debugging environment using Clion.

The above is an example to verify whether the MySQL|update field will record the details of the binlog when it has the same value. For more information about the MySQL update field, please pay attention to other related articles on 123WORDPRESS.COM!

You may also be interested in:
  • MySQL update fields from one table to another
  • MySQL UPDATE statement to replace part of the content in a field
  • Detailed analysis of the syntax of Mysql update to modify multiple fields and

<<:  Alibaba Cloud Nginx configures https to implement domain name access project (graphic tutorial)

>>:  Pull-down refresh and pull-up loading components based on Vue encapsulation

Recommend

Two ways to enable firewall in Linux service

There are two ways: 1. Service method Check the f...

CSS implements the bottom tapbar function

Now many mobile phones have the function of switc...

Summary of basic operations for MySQL beginners

Library Operations Query 1.SHOW DATABASE; ----Que...

el-table in vue realizes automatic ceiling effect (supports fixed)

Table of contents Preface Implementation ideas Ef...

Vue implements a simple shopping cart example

This article example shares the specific code of ...

Automatically build and deploy using Docker+Jenkins

This article introduces Docker+Jenkins automatic ...

Several ways to switch between Vue Tab and cache pages

Table of contents 1. How to switch 2. Dynamically...

Detailed explanation of docker compose usage

Table of contents Docker Compose usage scenarios ...

echars 3D map solution for custom colors of regions

Table of contents question extend Solving the pro...

Meta viewport makes the web page full screen display control on iPhone

In desperation, I suddenly thought, how is the Sin...

Linux sftp command usage

Concept of SFTP sftp is the abbreviation of Secur...