View MySQL transaction isolation level mysql> show variables like '%isolation%'; +---------------+----------------+ | Variable_name | Value | +---------------+----------------+ | tx_isolation | READ-COMMITTED | +---------------+----------------+ 1 row in set (0.00 sec) You can see that the current transaction isolation level is READ-COMMITTED Let's take a look at the transaction isolation details under the current isolation level and open two query terminals A and B. There is an order table below, the initial data is as follows mysql> select * from `order`; +----+--------+ | id | number | +----+--------+ | 13 | 1 | +----+--------+ 1 row in set (0.00 sec) The first step is to start transactions in both A and B. mysql> start transaction; Query OK, 0 rows affected (0.00 sec) The second step is to query the number values in the two terminals A mysql> select * from `order`; +----+--------+ | id | number | +----+--------+ | 13 | 1 | +----+--------+ 1 row in set (0.00 sec) B mysql> select * from `order`; +----+--------+ | id | number | +----+--------+ | 13 | 1 | +----+--------+ 1 row in set (0.00 sec) The third step is to change the number in B to 2, but do not commit the transaction mysql> update `order` set number=2; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 Step 4: Query the value in A mysql> select * from `order`; +----+--------+ | id | number | +----+--------+ | 13 | 1 | +----+--------+ 1 row in set (0.00 sec) It is found that the value in A has not been modified. Step 5: Submit transaction B and query the value in A again B mysql> commit; Query OK, 0 rows affected (0.01 sec) A mysql> select * from `order`; +----+--------+ | id | number | +----+--------+ | 13 | 2 | +----+--------+ 1 row in set (0.00 sec) It is found that the value in A has changed Step 6. Commit the transaction in A and query the values of A and B again. A mysql> commit; Query OK, 0 rows affected (0.00 sec) mysql> select * from `order`; +----+--------+ | id | number | +----+--------+ | 13 | 2 | +----+--------+ 1 row in set (0.00 sec) B mysql> select * from `order`; +----+--------+ | id | number | +----+--------+ | 13 | 2 | +----+--------+ 1 row in set (0.00 sec) It is found that the values in A and B are changed to 2. Here is a simple schematic diagram We can see that when the transaction isolation level is Read Committed, after the transaction in B is committed, the result of the B transaction commit can be read even if A is not committed. This solves the dirty read problem. The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM. You may also be interested in:
|
<<: Analysis of uniapp entry-level nvue climbing pit record
>>: CentOS 8 Installation Guide for Zabbix 4.4
Similar structures: Copy code The code is as foll...
The CSS position attribute specifies the element&...
1. Going around in circles After going around in ...
Table of contents 1. Some concepts you need to un...
Let’s take a look at the renderings first: XML/HT...
MySQL trigger simple example grammar CREATE TRIGG...
List of HTML tags mark type Name or meaning effec...
Adobe Brackets is an open source, simple and powe...
Table of contents 1. What is lazy loading of rout...
There is a new feature that requires capturing a ...
This article example shares the specific code of ...
1. Design source code Copy code The code is as fol...
This article shares with you how to use bootstrap...
Although I have run some projects in Docker envir...
Table of contents Preface 1. Configure intranet D...