【问题标题】:MYSQL X locks with transactionsMYSQL X 锁定事务
【发布时间】:2012-07-23 19:27:56
【问题描述】:

快速提问,

我想为一个事务独占锁定一行,例如:

SELECT.....FROM.....FOR UPDATE

我的问题是在做 PDO::beginTransaction 之前我需要这样做吗 - 做事务里面的UPDATE,如果抛出异常再手动解锁?

或者我可以把它放在交易里面吗?

提前致谢。

【问题讨论】:

    标签: php mysql transactions pdo


    【解决方案1】:

    在 PDO::beginTransaction 之前调用 SELECT.....FROM.....FOR UPDATE 没有意义,因为它将在自动包装的事务中调用(如果在 mysql 中默认为 autocommit=true),因此不会锁定实际记录。

    beginTransaction 之后就这样做

    【讨论】:

    • 好吧,我可以更改自动提交。只是真的想知道是否有必要这样做,或者独占锁定在事务中是否可以正常工作,因此不需要任何时髦的业务。抱歉对 PDO 和 MYSQL 有点陌生..
    猜你喜欢
    • 2011-12-30
    • 1970-01-01
    • 2011-05-12
    • 2016-03-22
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多