【发布时间】:2012-07-23 19:27:56
【问题描述】:
快速提问,
我想为一个事务独占锁定一行,例如:
SELECT.....FROM.....FOR UPDATE
我的问题是在做 PDO::beginTransaction 之前我需要这样做吗 -
做事务里面的UPDATE,如果抛出异常再手动解锁?
或者我可以把它放在交易里面吗?
提前致谢。
【问题讨论】:
标签: php mysql transactions pdo
快速提问,
我想为一个事务独占锁定一行,例如:
SELECT.....FROM.....FOR UPDATE
我的问题是在做 PDO::beginTransaction 之前我需要这样做吗 -
做事务里面的UPDATE,如果抛出异常再手动解锁?
或者我可以把它放在交易里面吗?
提前致谢。
【问题讨论】:
标签: php mysql transactions pdo
在 PDO::beginTransaction 之前调用 SELECT.....FROM.....FOR UPDATE 没有意义,因为它将在自动包装的事务中调用(如果在 mysql 中默认为 autocommit=true),因此不会锁定实际记录。
beginTransaction 之后就这样做
【讨论】: