这是How can I lock an InnoDB table to prevent updates while that table is being copied?的后续行动。 我想锁定一个表并防止对它进行任何更新,直到DB-admin专门删除了锁。
我想做什么?
我有一个表,存储从-180到+180的所有可能的度数值。我已将它们存储在名为DEGREE_VALUES
的表中。所以,现在表中有361行。我不希望这个表无论如何更新。我将只读取此表中的值。我读了MySQL Reference for LOCK tables,但它说的是客户会话。我正在寻找的是独立于客户会话。
答案 0 :(得分:1)
这不是通过某种锁来完成的。通常,我们宁愿撤销使用该表的用户的更新,删除和插入权限。
revoke
语法
答案 1 :(得分:0)
BEGIN;
SELECT * FROM tbl FOR UPDATE;
copy the data
COMMIT;
SELECT...FOR UPDATE
阻止任何其他客户端更改表格,直到COMMIT
。