Ένα deadlock συμβαίνει όταν δύο (ή περισσότερες) συναλλαγές κρατούν ο καθένας ένα κλείδωμα που χρειάζεται ο άλλος, έτσι κανείς δεν μπορεί να προχωρήσει — είναι κολλημένοι περιμένοντας ο ένας τον άλλον για πάντα. Οι βάσεις δεδομένων ανιχνεύουν τα deadlocks και τα επιλύουν με το να διακόψουν μία συναλλαγή (το "θύμα"), η οποία πρέπει να ξαναπροσπαθήσει. Η κατανόηση των αιτίων και η πρόληψη είναι σημαντικές για εφαρμογές με ταυτόχρονη πρόσβαση.
Πώς συμβαίνει ένα deadlock
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.
