2011-02-12 68 views

回答

7

「鎖定」表通常意味着在編輯數據時,限制其他進程訪問表中的數據。爲了確保表不會被修改或刪除,我認爲最好的解決方案是更改表的權限,刪除DROP,UPDATE,INSERT和任何其他權限,以限制該特定表。

REVOKE DROP, INSERT, TRUNCATE ON database.table FOR 'user'@'host'; 
+0

我認爲這可能是提問者正在尋找的東西。例如,一個鎖只會持續與您的連接一樣長。所以如果你斷開連接,甚至偶然的,就像你的網絡連接停止工作,那麼這個表就可以被丟棄。鎖定用於臨時阻止對錶格的訪問,並且defintely不符合「無論如何編輯或放棄它」的要求。 – Kibbee 2011-02-12 18:24:13

2

您可以使用LOCK關鍵字。

LOCK TABLES t1 READ; 

下面是語法:

LOCK TABLES 
    tbl_name [[AS] alias] lock_type 
    [, tbl_name [[AS] alias] lock_type] ... 

其中:

lock_type: 
    READ [LOCAL] 
    | [LOW_PRIORITY] WRITE 

讀鎖定例如表需要更多信息的文檔,並要求這還取決於你的數據庫發動機類型。