PDO beginTransaction失败

Bad*_*dal 16 php mysql pdo

我的php error_log中出现以下错误

PHP警告:发送QUERY数据包时出错.第87行/home/test/test.php中的PID = 29770

在我的PHP脚本的第87行代码ID

$DBH->beginTransaction();
Run Code Online (Sandbox Code Playgroud)

之后,当我提交时,我得到以下错误

异常'PDOException',并在/home/test/test.php:98中显示消息'没有活动事务'

我已经设置了max_allowed_packet=512M我的桌子InnoDB

这有什么不对?

编辑:我的代码在一个循环中运行,以向表中插入总共100,000多条记录,我在每个事务中执行5000次多次插入.这是我的代码结构

beginTransaction
 Multiple insert query for 5000 records
commit
Run Code Online (Sandbox Code Playgroud)

在循环中运行以插入100,000多条记录.有时脚本成功运行有时会失败.

我在6-7循环中得到这个错误.(在插入30k到40k记录之后)

小智 0

与数据库的连接可能不是持久的。这可能会导致事务在提交之前被清除,从而导致错误。

我宁愿发表评论,因为这本身不是一个“答案”,但不幸的是我没有所需的声誉。