如何在插入到MySQL中的表中的行上放置共享或独占锁?
我想确保如果我在事务期间插入一行,那么另一个事务就不能在事务的其余部分更改或删除该行。
干杯!
发布于 2013-12-30 21:01:44
您不需要这样做,因为在事务中所做的任何事情,包括创建记录,在事务完成之前实际上都是在事务之外可见的。
发布于 2013-12-27 22:22:01
您的表需要使用InnoDB或等效的。
然后你就会:
START TRANSACTION;
SELECT something FROM sometable WHERE somecolumn = somekey
FOR UPDATE;然后修改所讨论的行。最后,
COMMIT;你就完蛋了。
如果您需要一致的阅读,您可以使用以下内容:
SELECT something FROM sometable WHERE somecolumn = somekey
LOCK IN SHARE MODE;https://stackoverflow.com/questions/20808134
复制相似问题