Tôi nghi ngờ nó có liên quan đến khóa khoảng cách và ổ khóa tiếp theo và sự khác biệt trong hành vi của REPEATABLE READ :
Các đoạn trích từ tài liệu MySQL: ĐẶT cú pháp GIAO DỊCH
và ĐÃ CAM KẾT ĐỌC :
Có lẽ OP có thể cho chúng tôi biết trạng thái của hệ thống innodb_locks_unsafe_for_binlog system
và nếu khóa tương tự xảy ra khi cài đặt của biến này được thay đổi.
Ngoài ra, nếu việc khóa tương tự xảy ra với các id không tuần tự, chẳng hạn như 18
và 20
hoặc 18
và 99