此表有两个字段,价格和金额。在Innodb中记录锁定,是否可以工作
我表演上选择了更新,其价格低于100(查询1)中的所有记录这个InnoDB表的查询。
虽然此查询是怎么回事,我希望能够在有价greather 100.这是一定的工作表中插入或更新行?
与此同时,我想保证任何试图更新或插入行的表格,其价格低于100将不会发生,直到(查询1)完成。这也是确定的吗?
如果我想在查询类型1的时候执行普通select *查询,并且问题2中的查询能够执行这些读操作,或者这些读操作是否必须等到锁关闭了吗?这一定是肯定的。编辑:我想这些选择将能够访问任何记录表
最后,指标得到这个工作的关键?还是会按原样工作?
非常感谢。
关于第3点,那么有没有办法读取当前正在通过“SELECT FOR UPDATE”查询的记录?是的,请指教。该链接是信息性的,但我不知道该怎么做。感谢您的其他答案。 – 2013-05-13 15:45:37
正如我所说的,这取决于您当前的[事务隔离模式](http://dev.mysql.com/doc/refman/5.5/en/set-transaction.html)。 (基于某些信息,我在那里感到惊讶,我已经更新了其他一些观点。) – duskwuff 2013-05-13 16:07:45
只是为了澄清,如果您的TX隔离级别为SERIALIZABLE或REPEATABLE-READ,则读取将被阻止,并且如果级别READ COMMITTED或READ UNCOMMITTED – 2013-05-13 16:22:46