我正在使用MySQL并且正在使用#34; MySQL服务器消失了#34;错误。我尝试在PDO构造函数中设置ATTR_TIMEOUT
以及使用setAttribute()
方法,但两者都不起作用。我还设置了MySQL connect_timeout变量。
无论何时指定PDO,都会在几秒钟内返回超时错误。
我使用准备好的语句来处理非常大的插入内容。是否存在违反PDO准备声明的规模限制?我找不到任何涉及此类限制的文档。
答案 0 :(得分:0)
唯一的长度限制是max_allowed_packet
或net_buffer_length
(很可能是前者)。如果您有一个非常大的行的INSERT,我建议提高max_allowed_packet
。
如果你有很多行的INSERT,那么你可能也会超过max_allowed_packet。但是通过插入有限数量的行来管理它会更容易。
例如,如果检查mysqldump的输出,则不会尝试将整个表插入单个INSERT语句中。他们确实使用多行INSERT,但他们分批进行。