MySQL LOCK 命令的語法如下
LOCK TABLE table1 locktype, table2 locktype ...
對一個表解鎖:
UNLOCK TABLE[S]
如:
lock table car write;
select * from car;
unlock table;
解鎖命令不需要額外的引數,UNLOCK 將解除該使用者所有的鎖。
因為 LOCK 鎖阻止其他使用者的訪問,所以應該儘可能快的執行 UNLOCK 命令。
MySQL LOCK 型別
MySQL LOCK 鎖的型別有四種,每一種鎖定的範圍不同:
READ
所有的使用者只能讀取被鎖表,不能對錶進行修改(包括執行 LOCK 的使用者),當表不存在 WRITE 寫鎖時 READ 讀鎖被執行。
READ LOCAL
除了允許 INSERT 命令以外執行的鎖與 READ 相同。
WRITE
除了當前使用者被允許讀取和修改被鎖表外,其他使用者的所有訪問被完全阻止。一個 WRITE 寫鎖被執行僅當所有其他鎖取消時。
LOW PRIORITY WRITE
低優先順序的讀鎖,在等待時間內(等待其他鎖取消),其他使用者的訪問將被認為是執行了 READ 讀鎖,因此將增加等待時間
注意:mysql的lock不能用於函式和儲存過程中
評論(1)