MySQL锁定表

时间:2011-02-12 18:08:01

标签: mysql locking

如何锁定MySQL中的表,以便除非解锁,否则无法编辑或删除它?

2 个答案:

答案 0 :(得分:7)

“锁定”表通常意味着在编辑数据时限制其他进程对表中数据的访问。为了保护表以便不能更改或删除它,我认为最好的解决方案是更改表的权限,删除DROP,UPDATE,INSERT以及您要为该特定表限制的任何其他权限。

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

答案 1 :(得分: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

阅读文档以获取更多信息以及锁定表所需的要求,例如,这也取决于您的数据库引擎类型。