【问题标题】:PHP Mysql PDO and unlock tablePHP Mysql PDO 和解锁表
【发布时间】:2016-01-14 20:31:46
【问题描述】:

如果 php 出现错误(try/catch),我应该管理表解锁吗?还是脚本结束时 PDO 对象自动释放锁?

【问题讨论】:

    标签: php mysql pdo table-locking


    【解决方案1】:

    是的。除非您使用持久连接,否则在脚本终止时 PDO 将关闭连接,而 mysql 将依次释放所有锁:

    当您的脚本结束时,PHP 会自动关闭连接。
    http://php.net/manual/en/pdo.connections.php

    如果客户端会话的连接终止,无论是正常还是异常,服务器都会隐式释放会话持有的所有表锁(事务性和非事务性)。
    https://dev.mysql.com/doc/refman/5.1/en/lock-tables.html

    【讨论】:

    • 仅作记录:当所有资源不再使用时、脚本结束时或错误处理期间释放所有资源(包括数据库中的锁)始终是一个好习惯。跨度>
    • 我认为PHP PDO是一个黑盒子,我真的无法理解mysql连接和会话发生了什么......
    猜你喜欢
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    • 1970-01-01
    • 2014-08-11
    • 2015-09-01
    • 2015-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多