mysql中insert into table_a (id,name,pass) values ('1','张三',‘123’),......

mysql中insertintotable_a(id,name,pass)values('1','张三',‘123’),(‘2’,‘李四’,‘123’),......这样... mysql中insert into table_a (id,name,pass) values ('1','张三',‘123’),(‘2’,‘李四’,‘123’),......这样后面跟的记录数有条数限制么?
比如后面跟20W条会不会失败等等,有什么弊端没?
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (5288939 > 1048576). You can change this value on the server by setting the max_allowed_packet'

报的这个~
展开
 我来答
tjrmgs
2016-07-16 · TA获得超过5765个赞
知道大有可为答主
回答量:2161
采纳率:94%
帮助的人:1048万
展开全部
这种一次插入多条记录的sql语句的写法可以插入的最多记录条数会受到数据库规格中可接受sql语句的最大长度的限制,具体多长可以查阅mysql规格,相信当记录接近千条左右就会超限,超限部分的记录肯定不能插入表里的,至于未超限部分能否执行可实测一下。
追答
另外,如果需要插入非常多的记录行到数据表,特别是需要经网络插入到远程数据库的情况下,建议使用循环的办法一次只插入一条记录,因为一次送入大量的信息到数据库要求执行,无论对于网络和数据库引擎的负荷来说都不是一个好的做法。
在带宽有限的情况,一条非常之长的sql语句较之于一条短小的语句,前者因网络堵塞而导致执行失败的机会将远比后者多。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式