【发布时间】:2012-01-10 10:10:28
【问题描述】:
我可以在调用LOCK TABLES tb1 READ之后调用update/insert into table(tb1)吗?
我已经阅读了关于读锁的 MySQL 手册:
持有锁的会话可以读表(但不能写)。
我正在寻找一种锁,它允许我读/写一个表,但只允许其他人读访问。
怎么做?
我的是 MyISAM 数据库。
【问题讨论】:
我可以在调用LOCK TABLES tb1 READ之后调用update/insert into table(tb1)吗?
我已经阅读了关于读锁的 MySQL 手册:
持有锁的会话可以读表(但不能写)。
我正在寻找一种锁,它允许我读/写一个表,但只允许其他人读访问。
怎么做?
我的是 MyISAM 数据库。
【问题讨论】:
你不能在 MySQL 中做到这一点。最好的方法是使用WRITE lock,但是所有其他会话都必须等待能够从表中读取。
【讨论】:
您可能想先阅读这些内容:
http://dev.mysql.com/doc/refman/5.0/en/locking-issues.html
http://en.wikipedia.org/wiki/Isolation_(database_systems)
另请阅读有关锁升级的信息。 我对 mysql 的早期版本(4.x)有问题,我无法更新 我正在阅读的桌子。
【讨论】: