它依赖于值集的数量吗?它依赖于INSERT语句中的字节数吗?
发布于 2010-08-21 11:22:03
您可以使用INSERT ... SELECT
pattern插入无限多的记录,前提是您在其他表中具有这些记录或其中的一部分。
但是,如果您使用server对这些值进行硬编码,那么您的语句的大小/长度就会受到限制:max_allowed_packet会限制客户机发送到数据库服务器的INSERT ... VALUES
语句的长度,并且它会影响任何类型的查询,而不仅仅是INSERT语句。
发布于 2015-01-09 14:53:49
理想情况下,Mysql允许在一次插入(一次)中创建无限数量的行,但是当
MySQL客户端或mysqld服务器收到大于max_allowed_packet字节的数据包时,会发出数据包太大错误并关闭连接。
要查看max_allowed_packet变量的默认值,请在MySQL中执行以下命令:
show variables like 'max_allowed_packet';
标准MySQL安装的默认值为1048576字节(1MB)。对于会话或连接,可以通过将其设置为更高的值来增加该值。
这会将每个人的值设置为500MB (这就是全局的意思):
SET GLOBAL max_allowed_packet=524288000;
使用新连接在新终端中检查您的更改:
show variables like 'max_allowed_packet';
现在,它应该可以在无限记录插入的情况下正常工作。谢谢
发布于 2012-05-21 20:26:47
一般情况下,查询受max_allowed_packet
限制。
https://stackoverflow.com/questions/3536103
复制相似问题