Error: Deadlock Found When Trying to Get Lock in MySQL


What Happens to Your Transactions When ERROR 1213 Occurred in MySQL?



If your transaction receives the "Deadlock found when trying to get lock" - ERROR 1213, MySQL server automatically terminates your transaction and rolls back your data changes of the entire transaction. This is why the error messages tells you to "try restarting transaction".

At the same time, locks owned by the terminated (rolled back) transaction will be released.

MySQL server will not touch the other transaction. But the block will be removed, since the lock owned the terminated transaction is released. The other transaction will be able to continue normally.

Note that MySQL server automatically detects dead locks and resolved them by rollback actions.


Locks, Timeouts, and Deadlocks in MySQL

Experiment with Dead Locks in MySQL

Transaction Management: Commit or Rollback in MySQL

⇑⇑ MySQL Database Tutorials

2017-07-21, 5552🔥, 0💬