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.
1213 Deadlock found 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 not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
Most viewed in MySQL
Other ways to find it
Where this error sits
Origin: Data. Errors that are often confused with or caused by this one (click to open):
🧠 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.
💬 What worked for others
No tips yet — did something else fix this for you?
Share what worked for you
Tips are checked by an editor before they appear. Links are removed.
Report a correction or suggest an improvement
Last updated 13 Oct 2026