我用循环insert记录时,插入几十条时,就提示packet for query is too large,
网上查了一下,要改mysql --set-variable=max_allowed_packet=5M,改为更大值,那我要插入10万记录,难道要将值改为几个G了?不行吧,怎么办呢?

解决方案 »

  1.   

    mysql 的机制其实应该是这样的:当你数据库缓存中的数据量达到5M时,它会自动提交一次,然后继续接下来的操作,每5M刷新数据库缓存,提交,以此类推,而不是你说的几G
      

  2.   

    ruanjiantaotao(涛涛) ( ) 
    -----------
    谢谢您
    我明白了,可是现在就是我说的那样,出错了,怎么解决呢?
      

  3.   

    我是楼主
    -----------
    我在for循环里没有关闭con和pstmt,最后循环结束后才关闭的,是不是还有什么要在循环里关闭呀?