如何防止 MYSQL table 进行任何独立于会话的更新?
How to prevent MYSQL table for any updating independent of session?
这是 How can I lock an InnoDB table to prevent updates while that table is being copied? 的跟进。
我想锁定 table 并阻止对其进行任何更新,直到 DB-admin 专门删除锁定。
我想做什么?
我有一个 table 存储从 -180 到 +180 度的所有可能值。我将它们存储在名为 DEGREE_VALUES
的 table 中。所以,现在 table 中有 361 行。我不希望这个 table 被更新。我将只读取此 table 中的值。我读 MySQL Reference for LOCK tables 但它说的是客户端会话。我正在寻找的是独立于客户端会话的。
这不是通过某种锁来完成的。通常人们宁愿撤销使用 table.
的用户的更新、删除和插入权限
- 阅读 manual entry
中有关 revoke
语法的更多信息
- 再往下 manual entry 你得到一个 table 具有不同的权限
BEGIN;
SELECT * FROM tbl FOR UPDATE;
copy the data
COMMIT;
SELECT...FOR UPDATE
阻止任何其他客户端更改 table,直到 COMMIT
。
这是 How can I lock an InnoDB table to prevent updates while that table is being copied? 的跟进。 我想锁定 table 并阻止对其进行任何更新,直到 DB-admin 专门删除锁定。
我想做什么?
我有一个 table 存储从 -180 到 +180 度的所有可能值。我将它们存储在名为 DEGREE_VALUES
的 table 中。所以,现在 table 中有 361 行。我不希望这个 table 被更新。我将只读取此 table 中的值。我读 MySQL Reference for LOCK tables 但它说的是客户端会话。我正在寻找的是独立于客户端会话的。
这不是通过某种锁来完成的。通常人们宁愿撤销使用 table.
的用户的更新、删除和插入权限- 阅读 manual entry 中有关
- 再往下 manual entry 你得到一个 table 具有不同的权限
revoke
语法的更多信息
BEGIN;
SELECT * FROM tbl FOR UPDATE;
copy the data
COMMIT;
SELECT...FOR UPDATE
阻止任何其他客户端更改 table,直到 COMMIT
。