Un interblocare (deadlock) apare atunci când două (sau mai multe) tranzacții ține fiecare un blocare pe care cealaltă o necesită, așa că nici una nu poate continua — sunt blocate în așteptarea infinită una de cealaltă. Bazele de date detectează interblocajele și le rezolvă prin abortarea unei tranzacții ("victima"), care trebuie să se reînceapă. Înțelegerea cauzelor și prevenirii este importantă pentru aplicații concurente.
Cum apare o interblocare
Transaction A: locks row 1, then wants row 2
Transaction B: locks row 2, then wants row 1
→ A waits for B (to release row 2), B waits for A (to release row 1) → DEADLOCK
Neither can proceed; they're waiting on each other in a cycle.
