讀鎖:共享鎖 readLock
寫鎖:獨占鎖 writeLock 不允許其他事務對當前數據進行修改和讀取操作
MySQL中的加鎖語句
LOCK TABLES,鎖表(或者視圖)權限。
-
可以鎖住那些你擁有select權限的表,以防止其他session訪問或者修改這個表。
-
如果鎖住視圖,那么視圖的所有基表都被鎖住。
-
如果鎖住的表上有觸發器,那么和這個觸發器所有相關的表都被鎖住。
-
要鎖住某張表的前提是要擁有表上select 權限。
lock table有如下兩種表達方式:
-
lock table xxx read,只讀方式鎖住xxx,該表只能被select,不能被修改。如果在lock時,該表上存在事務,則lock語句掛起,直到事務結束。多個會話可以同時對表執行該操作。
-
lock table xxx write,讀寫方式鎖住xxx,lock table的會話可以對表xxx做修改及查詢等操作,而其他會話不能對該表做任何操作,包括select也要被阻塞。
可以同時鎖住多個表。
例子:
參考鏈接:https://blog.csdn.net/q3dxdx/article/details/51003080