Each transaction in InnoDB that is waiting for another
transaction to release a lock
(INNODB_TRX.TRX_STATE='LOCK WAIT') is blocked
by exactly one “blocking lock request”. That
blocking lock request is for a row or table lock held by another
transaction in an incompatible mode. The waiting or blocked
transaction cannot proceed until the other transaction commits
or rolls back, thereby releasing the requested lock. For every
blocked transaction,
INNODB_LOCKS
contains one row that describes each lock the transaction has
requested, and for which it is waiting.
INNODB_LOCKS
also contains one row for each lock that is blocking another
transaction, whatever the state of the transaction that holds
the lock ('RUNNING', 'LOCK
WAIT', 'ROLLING BACK' or
'COMMITTING'). The lock that is blocking a
transaction is always held in a mode (read vs. write, shared vs.
exclusive) incompatible with the mode of requested lock.
For the table definition, see
INNODB_LOCKS Columns.

User Comments
Add your own comment.