MySQL ERROR 1213 (40001): Deadlock found when trying to get lock; try restarting transaction
MySQL detected a deadlock between two transactions and rolled one back.
Seen on:
MySQL
Meaning
The SQL-level page explains deadlocks generally; for MySQL, SHOW ENGINE INNODB STATUS shows the latest deadlock with both statements.
Common causes
- Rows locked in different orders
- Missing indexes causing gap locks
- Long transactions
⚡ Quick fix
- Retry the transaction
- Access rows in a consistent order
- Add indexes
Detailed fix by platform
MySQL
SHOW ENGINE INNODB STATUS\G
How to diagnose
- Statements — Which two?
- Recent change — Did it start after a deploy, upgrade, or configuration change? Compare with the last working version.
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
Was this page helpful?
Report a correction or suggest an improvement
Last updated 2 Oct 2026