使用此操作後:lock tables table_name READ ;
mysql不允許我從其他表格讀取,說:table'other_table'沒有用LOCK TABLES鎖定,有人可以請解釋當您鎖定表格時讀取選項...在MySql中鎖定表格
回答
從MySQL Documentation - LOCK TABLES
READ [LOCAL]鎖:
持有鎖可以讀取表(但不寫)會議。
多個會話可以同時獲取表的READ鎖。
其他會話可以在不明確獲取READ鎖的情況下讀取表。
LOCAL修飾符允許其他會話執行不衝突的INSERT語句(併發插入),以便在鎖定期間執行。 (請參見第9.11.3節「併發插入」)。但是,如果要在持有鎖的同時使用服務器外部的進程操縱數據庫,則不能使用READ LOCAL。對於InnoDB表,READ LOCAL與READ相同。
從我的理解,讀鎖定會話鎖是說:「嘿!我會從這個(或這些)表(S)來讀取,併爲此ONLY這些桌會話但是,我不能寫信給它。「請務必記住,其他會話可以從相同的表中讀取,而不必使用來獲取READ鎖。
因此,要回答您的問題,您必須在聲明READ鎖定時指定要讀取的每個表格。在該會話中,您將無法讀取任何其他表格。確保您的用戶在完成會話後UNLOCK。
但是爲什麼用戶無法從其他表中讀取,而他只是鎖定了一張表? – salifkeita
@salifkeita我更新了我的答案,以更好地解釋它。讓我知道你是否需要更多! –
非常感謝你,最後一部分回答了我的問題。 – salifkeita
- 1. 在MySQL(Inno Db)中鎖定和解鎖表格行
- 2. MySQL表鎖定
- 3. MySQL鎖定表
- 4. MySQL鎖定表
- 5. 何時在MySQL中鎖定表(MyISAM表)?
- 6. 如何用php鎖定mysql myisam表格
- 7. 在MySQL中鎖定
- 8. PHP中的MySql表鎖定
- 9. MySQL MyISAM表鎖定
- 10. MySQL的表鎖定
- 11. 鎖定mysql表列
- 12. MySQL的 - 表鎖定VS行鎖定
- 13. 在MySQL插入過程中,表級鎖定會鎖定什麼?
- 14. 如何在php中鎖定mysql表
- 15. 在mysql查詢中獲取鎖定表
- 16. 在MySQL中更新未鎖定的整個表格
- 17. 鎖定在MySQL
- 18. 在JDBC中使用postgres鎖定表格
- 19. 在MySQL中記錄鎖定
- 20. MySQL「鎖定」一個表項
- 21. 鎖定「本地」MySQL表
- 22. MySQL InnoDB表導出鎖定
- 23. mysql被鎖定臨時表
- 24. 鎖定MyISAM表(MySQL)和PHP
- 25. MYSQL表與PHP鎖定
- 26. PHP +鎖定MySQL表失敗
- 27. MySQL表鎖定(閱讀)
- 28. 鎖定在ADO.NET中的表鎖定
- 29. mysql會在處理時鎖定所有表格
- 30. MySQL中的觸發器和表鎖定
您可以從閱讀文檔開始。 –
我做過了,但這對我沒有幫助,謝謝... – salifkeita