PDO :: ATTR_TIMEOUT不工作

时间:2014-07-04 15:51:43

标签: pdo timeout prepared-statement

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

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

我使用准备好的语句来处理非常大的插入内容。是否存在违反PDO准备声明的规模限制?我找不到任何涉及此类限制的文档。

1 个答案:

答案 0 :(得分:0)

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

如果你有很多行的INSERT,那么你可能也会超过max_allowed_pa​​cket。但是通过插入有限数量的行来管理它会更容易。

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