SQLSTATE [40001]:序列化失败:1213尝试获取锁定时发现死锁;尝试重启事务:symfony2

时间:2016-02-15 09:28:27

标签: symfony deadlock

SQLSTATE [40001]:序列化失败:1213尝试获取锁定时发现死锁;尝试重启事务:

有时我在symfony2 PDOSessionHandler.php中出现此错误,此时

            $mergeStmt = $this->pdo->prepare($mergeSql);
            $mergeStmt->bindParam(':id', $sessionId, \PDO::PARAM_STR);
            $mergeStmt->bindParam(':data', $data, \PDO::PARAM_LOB);
            $mergeStmt->bindParam(':lifetime', $maxlifetime,\PDO::PARAM_INT);
            $mergeStmt->bindValue(':time', time(), \PDO::PARAM_INT);
            $mergeStmt->execute();

任何人都可以尽早回答我

1 个答案:

答案 0 :(得分:0)

它可能有点晚了但仍然:

首先:你实际上没有问过一个问题。 但是关于你的问题:当两个进程试图锁定表并陷入循环时,会发生死锁。

处理此问题的最简单方法是在一段时间后重试交易。