MySQL 中的鎖是數據庫管理系統的重要組成部分,可以防止不同用戶同時訪問同一數據。MySQL 中的鎖可以分為 8 種:
1. 共享鎖(Shared Lock):多個事務可以持有同一個共享鎖,但是不允許其他事務對這個鎖的資源進行獨占鎖的操作。
SELECT ... LOCK IN SHARE MODE;
2. 獨占鎖(Exclusive Lock):只有一個事務可以持有獨占鎖,其他事務無法讀取或修改該鎖資源。
SELECT ... FOR UPDATE;
3. 記錄鎖(Record Lock):鎖定數據表中的一個或多個記錄。
SELECT ... FOR UPDATE;
4. 間隙鎖(Gap Lock):鎖定數據表中的間隙,但不包含記錄。
SELECT ... FOR UPDATE;
5. 下一鍵鎖(Next-Key Lock):記錄鎖和間隙鎖的組合,可以鎖定一個鍵值區間。
SELECT ... FOR UPDATE;
6. 插入意向鎖(Insert Intention Lock):表示一個事務準備向一個未被未被上鎖了的空間插入新紀錄。
INSERT INTO ...;
7. 自增鎖(Auto-Increment Lock):在插入自增值時加鎖,以防止多個事務同時插入相同的自增值。
INSERT INTO ...;
8. 表鎖(Table Lock):鎖定整個數據表。
LOCK TABLES ... WRITE;
下一篇學html和css方法