mysql出错 packet for query is too large

javaindex22 2006-10-28 11:40:30
我用循环insert记录时,插入几十条时,就提示packet for query is too large,
网上查了一下,要改mysql --set-variable=max_allowed_packet=5M,改为更大值,那我要插入10万记录,难道要将值改为几个G了?不行吧,怎么办呢?
...全文
811 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
terry6394 2006-10-29
  • 打赏
  • 举报
回复
学到东西了...
ruanjiantaotao 2006-10-29
  • 打赏
  • 举报
回复
mysql 的机制其实应该是这样的:当你数据库缓存中的数据量达到5M时,它会自动提交一次,然后继续接下来的操作,每5M刷新数据库缓存,提交,以此类推,而不是你说的几G
javaindex22 2006-10-29
  • 打赏
  • 举报
回复
我是楼主
-----------
我在for循环里没有关闭con和pstmt,最后循环结束后才关闭的,是不是还有什么要在循环里关闭呀?

jobs002 2006-10-29
  • 打赏
  • 举报
回复
关注,循环里面关闭,可怕
hbwhwang 2006-10-29
  • 打赏
  • 举报
回复
怎么会呢?我插入几万条都没事
javaindex22 2006-10-29
  • 打赏
  • 举报
回复
ruanjiantaotao(涛涛) ( )
-----------
谢谢您
我明白了,可是现在就是我说的那样,出错了,怎么解决呢?

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧