How MySQL Uses Table Locks

The previous code was a simple example of applying a write lock to a single table. There are also read locks. It is possible to lock any number of tables at once.

An Introduction to LOCK TABLES and UNLOCK TABLES

Here's the syntax (in simplified form) for LOCK TABLES:

LOCK TABLES table_name1 {READ | WRITE} [, table_name2 {READ | WRITE} ...]

As you can see from the syntax, you can give LOCK TABLES the names of one or more tables. Each named table requires the word READ or WRITE to specify what kind of lock the client thread should obtain on that table.

What's the difference between a read lock and a write lock?

  • If a client thread obtains a read lock, that thread and all other threads will only be able to read from that ...

Get Sams Teach Yourself MySQL in 21 Days, Second Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.