Mysql
 sql >> Datenbank >  >> RDS >> Mysql

InnoDB SELECT ... FOR UPDATE-Anweisung, die alle Zeilen in einer Tabelle sperrt

Ich vermute, es hat mit Gap Locks zu tun und Nächste-Tasten-Sperren und die Unterschiede im Verhalten von REPEATABLE READ :

Die Auszüge stammen aus MySQL-Dokumenten:SET TRANSACTION-Syntax

und READ COMMITTED :

Vielleicht kann uns OP den Status von innodb_locks_unsafe_for_binlog system mitteilen Variable und wenn die gleiche Sperre auftritt, wenn die Einstellung dieser Variablen geändert wird.

Auch, wenn die gleiche Sperrung mit nicht sequentiellen IDs erfolgt, wie 18 und 20 , oder 18 und 99