如何在读取时锁定mysql行

时间:2014-08-11 13:42:29

标签: mysql concurrency locking innodb race-condition

我有一个由脚本填充的mysql innodb表。我一次只能有一个消费者脚本读取表格。例如,表中有10条记录,我读取全部10条记录,处理它们,并更新表中的字段以表明它们已完成。在处理过程中,还有8个记录进入,但是我不能再使用另一个脚本来消费那些没有再次拾取原始10的记录(尚未标记为完整的)。

理想情况下,我想在读取时锁定10条记录(不锁定整个表格) - 并且只锁定表格的1位消费者,因为我可以看到2位消费者可能同时阅读它们。有没有办法做这样的事情或有没有人有更好的主意?

要注意 - 我无法访问填充表的脚本,因此我无法将记录发送到队列中。

0 个答案:

没有答案