MySQL + SQL · Lesson 87
Locks and Deadlocks in MySQL
Locks
A lock reserves a row or table for one transaction so others wait, preventing conflicting changes.
- Shared (read) lock — others can read, not write.
- Exclusive (write) lock — others cannot read or write.
Deadlock
A deadlock happens when two transactions each wait for a row the other holds — neither can proceed. MySQL detects this and automatically rolls back one transaction.
Avoiding Deadlocks
- Access tables/rows in the same order in every transaction.
- Keep transactions short.
Summary
- Locks reserve rows; shared = read, exclusive = write.
- A deadlock is mutual waiting; MySQL rolls back one to break it.