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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.