如何在允许其他连接执行SELECT操作的事务中对表执行LOCK WRITE
?
执行此操作时:
BEGIN;
LOCK TABLE my_table;
<very long commands>
其他连接无法执行SELECT COUNT(*) FROM my_table;
我想要达到的目的是防止他人在我写作时写作,而不会阻止他们阅读。
答案 0 :(得分:1)
将LOCK放入事务块内的表中,不允许其他用户/会话读取或写入表。
如果您希望您的交易只读,您可以使用以下语法。
BEGIN [READ ONLY];
<very long commands>
如果我做了一个错误的假设请发表评论,我会重新调整我的答案。