уровни изоляции и блокировки inno db

Я читаю руководство по транзакциям innodb, но все же есть много неясного для меня. Например, я не совсем понимаю следующее поведение:

-- client 1                             -- client 2
mysql> create table simple (col int) 
       engine=innodb; 

mysql> insert into simple values(1);
Query OK, 1 row affected (0.00 sec)

mysql> insert into simple values(2);
Query OK, 1 row affected (0.00 sec)

mysql> select @@tx_isolation;                                                              
+-----------------+                                                                         
| @@tx_isolation  |
+-----------------+
| REPEATABLE-READ |                                                                         
+-----------------+

mysql> begin;                                    
Query OK, 0 rows affected (0.01 sec)            
                                        mysql> begin;
                                        Query OK, 0 rows affected (0.00 sec)

mysql> update simple set col=10 where col=1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

                                         mysql> update simple set col=42 where col=2;
                                         -- blocks

Теперь последняя команда обновления (в клиенте 2) ждет. Я ожидаю, что команда будет выполнена, потому что я предполагаю, что заблокирована только строка 1. Поведение такое же, даже если вторая команда в клиенте 2insert, Может ли кто-нибудь описать фон блокировки за этим примером (где и почему блокировки)?

Ответы на вопрос(3)

Ваш ответ на вопрос