Rumah > pangkalan data > tutorial mysql > Bagaimana untuk mengunci berbilang jadual dalam MySQL?

Bagaimana untuk mengunci berbilang jadual dalam MySQL?

王林
Lepaskan: 2023-09-04 11:13:11
ke hadapan
814 orang telah melayarinya

Bagaimana untuk mengunci berbilang jadual dalam MySQL?

Dengan arahan LOCK TABLES, anda boleh melaksanakan berbilang kunci meja. Sintaksnya adalah seperti berikut -

LOCK TABLES yourTableName1 WRITE;
LOCK TABLES yourTableName2 WRITE;
LOCK TABLES yourTableName3 WRITE;
LOCK TABLES yourTableName4 WRITE;
.
.
.
N;
Salin selepas log masuk

Kunci jadual tidak selamat transaksi, ia secara tersirat melakukan transaksi aktif terlebih dahulu sebelum cuba mengunci jadual kedua.

Andaikan saya mempunyai jadual OrderDemo -

mysql> create table OrderDemo
   -> (
   -> OrderId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> OrderPrice int,
   -> OrderDatetime datetime
   -> );
Query OK, 0 rows affected (0.66 sec)
Salin selepas log masuk

Berikut ialah pertanyaan untuk mengunci jadual OrderDemo dan utfdemo. utfdemo sudah wujud dalam pangkalan data sampel. Pertanyaannya adalah seperti berikut -

mysql> LOCK TABLES OrderDemo WRITE;
Query OK, 0 rows affected (0.03 sec)
mysql> LOCK TABLES utfdemo WRITE;
Query OK, 0 rows affected (0.07 sec)
Salin selepas log masuk

Kini ia mengunci jadual sesi. Jika anda cuba membuat jadual, anda akan mendapat ralat.

Ralat adalah seperti berikut -

mysql> create table LockTableDemo
   -> (
   -> UserId int,
   -> UserName varchar(10)
   -> );
ERROR 1100 (HY000): Table 'LockTableDemo' was not locked with LOCK TABLES
mysql> create table UserIformation
   -> (
   -> UserId int,
   -> UserName varchar(10)
   -> );
ERROR 1100 (HY000): Table 'UserIformation' was not locked with LOCK TABLES
Salin selepas log masuk

Untuk menyelesaikan masalah ini, anda perlu memulakan semula MySQL.

Atas ialah kandungan terperinci Bagaimana untuk mengunci berbilang jadual dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan