快速问题,
我想为一笔交易独占锁定一行,例如:
SELECT.....FROM.....FOR UPDATE
我的问题是在做PDO::beginTransaction
之前我需要做这个吗-是否在事务中执行UPDATE
,然后在引发异常时手动解锁?
或者我可以把它放在交易中吗?
提前谢谢。
在PDO::beginTransaction之前调用SELECT.....FROM.....FOR UPDATE
是没有意义的,因为它将在自动包装事务中调用(如果在mysql中默认情况下autocommit=true),因此不会锁定任何实际记录。
因此,在开始事务之后执行此操作