我遇到并发连接问题。我如何确保一个查询在一个接一个地运行,而没有来自其间的其他连接的查询。我可能需要某种锁定,但是什么样的? ..要么?交易?
答案 0 :(得分:3)
在 SERIALIZABLE 隔离级别运行2个查询 - 通过锁定他们访问的每个记录,它保证2个查询的结果与执行的唯一2个查询完全相同,但是没有锁定表/表的其余部分。
答案 1 :(得分:1)
如果您使用的是innodb存储引擎,则可以使用事务来实现您的需求。只需在两个查询之前执行BEGIN,然后在它们之后执行COMMIT。
答案 2 :(得分:0)
您可以使用LOCK TABLE
阻止其他用户更新该表。
链接强>
http://dev.mysql.com/doc/refman/5.0/en/lock-tables.html