以下のリファレンスによると、
14.2.6 InnoDB のレコード、ギャップ、およびネクストキーロック
ネクストキーロック
デフォルトでは、InnoDB は REPEATABLE READ トランザクション分離レベルで動作し、innodb_locks_unsafe_for_binlog システム変数は無効になっています。
ギャップロックの無効化
ギャップロックは明示的に無効化できます。これは、トランザクション分離レベルを READ COMMITTED に変更するか、または innodb_locks_unsafe_for_binlog システム変数 (現在は非推奨です) を有効にすると発生します。
とあります。
ですので、for update以前に、READ COMMITTEDによって、ギャップロック、ネクストキーロックは発生しないようになると解釈できます。
2019/01/09 10:37