PDO::ATTR_TIMEOUT Not Working



我正在使用MySQL,并且正在获得"MySQL服务器消失"错误。我试过在PDO构造函数中设置ATTR_TIMEOUT以及setAttribute()方法,但两者都不起作用。我还设置了MySQL connect_timeout变量。

无论我在什么时候指定PDO,在几秒钟内,都会返回超时错误。

对于一个非常大的插入,我使用了一个准备好的语句。是否有PDO准备语句的大小限制,破坏连接?

唯一的长度限制是max_allowed_packetnet_buffer_length(很可能是前者)。我建议提高max_allowed_packet,如果你有一个非常大的行插入。

如果您有一个多行的INSERT,那么您也可能以这种方式超过max_allowed_packet。但是,通过插入有限数量的行来管理这一点更容易。

如果你检查mysqldump的输出,例如,他们不会尝试在单个insert语句中插入整个表。他们确实使用多行INSERT,但他们是分批进行的。

相关内容

  • 没有找到相关文章

最新更新