LOCK TABLES
tbl_name [[AS] alias] lock_type
[, tbl_name [[AS] alias] lock_type] ...
lock_type:
READ [LOCAL]
| [LOW_PRIORITY] WRITE
UNLOCK TABLES
READ允許多個Session同時取得READ LOCK,但不可寫入,必須等到所有session都釋放READ LOCK才可寫入。tbl_name [[AS] alias] lock_type
[, tbl_name [[AS] alias] lock_type] ...
lock_type:
READ [LOCAL]
| [LOW_PRIORITY] WRITE
UNLOCK TABLES
WRITE 此Option就像Semphore一樣,同時只有一個Session能使用這個Table(不論讀或寫),必須等到此Session釋放WRITE LOCK,其他Session才可使用。如果Session的網路斷線,LOCK也會自動歸還。
LOCK TABLES test WRITE;
SELECT * FROM test;
INSERT INTO test (c1, c2) values ('OK','KO');
UNLOCK TABLES;
SELECT * FROM test;
INSERT INTO test (c1, c2) values ('OK','KO');
UNLOCK TABLES;
Note : 若在Linux環境,可以開多個Terminal,連到MySQL做測試。
沒有留言:
張貼留言