首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MySQL -在一条insert语句中可以插入多少行?

MySQL -在一条insert语句中可以插入多少行?
EN

Stack Overflow用户
提问于 2010-08-21 11:07:09
回答 8查看 109K关注 0票数 96

它依赖于值集的数量吗?它依赖于INSERT语句中的字节数吗?

EN

回答 8

Stack Overflow用户

发布于 2010-08-21 11:22:03

您可以使用INSERT ... SELECT pattern插入无限多的记录,前提是您在其他表中具有这些记录或其中的一部分。

但是,如果您使用server对这些值进行硬编码,那么您的语句的大小/长度就会受到限制:max_allowed_packet会限制客户机发送到数据库服务器的INSERT ... VALUES语句的长度,并且它会影响任何类型的查询,而不仅仅是INSERT语句。

票数 97
EN

Stack Overflow用户

发布于 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';

现在,它应该可以在无限记录插入的情况下正常工作。谢谢

票数 50
EN

Stack Overflow用户

发布于 2012-05-21 20:26:47

一般情况下,查询受max_allowed_packet限制。

票数 24
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3536103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档