sql >> データベース >  >> RDS >> Mysql

PHPのデッドロック例外コード、MySQL PDOException?

    PDO ::errorInfo、PDOException ::errorInfo

    MySQLServerのエラーコードとメッセージ。エラー:1213 SQLSTATE:40001(ER_LOCK_DEADLOCK)

    /*[...]*/
    
    //error mode is exception
    $pdoDBHandle->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
    
    try
    {
        /*[...]*/
    }
    catch(\PDOException $exc)
    {
        if(
            $exc->errorInfo[0]==40001 /*(ISO/ANSI) Serialization failure, e.g. timeout or deadlock*/;
    
            && $pdoDBHandle->getAttribute(\PDO::ATTR_DRIVER_NAME)=="mysql"
            && $exc->errorInfo[1]==1213  /*(MySQL SQLSTATE) ER_LOCK_DEADLOCK*/
        )
        {
            /*[...]*/
        }
        else
            throw $exc;
    }
    


    1. MySQL Workbench:接続を維持する方法

    2. JSON_REPLACE()–MySQLのJSONドキュメントの値を置き換える

    3. MySQLはCSVデータからNULL値をロードします

    4. MySQLからJSONデータを取得する方法は?