快速提问,
我想为事务独占锁定一行,例如:
选择......FROM......用于更新
我的问题是在执行PDO::beginTransaction
之前我需要这样做吗?
在事务内执行UPDATE
,然后在抛出异常时手动解锁?
或者我可以将其放在交易中吗?
提前致谢。
最佳答案
在 PDO::beginTransaction 之前调用 SELECT.....FROM.....FOR UPDATE
没有意义,因为它将在自动包装事务中调用(如果 autocommit=true 则为mysql 中默认),因此不会锁定任何实际记录。
所以在beginTransaction之后进行
关于php - MYSQL X 带有事务的锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11648484/