Mysql com.mysql.jdbc.PacketTooBigException 的解决方案
来源:互联网 发布:海尔是国企吗 知乎 编辑:程序博客网 时间:2024/06/14 15:55
出现情况:当一次插入30000条数据时,SQL拼装过长。
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (3933378 > 1048576). You can change this value on the server by setting the max_allowed_packet' variable.at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3915)at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2598)at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2778)at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2825)at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2156)at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2459)at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2376)at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2360)
方案一:改Mysql配置
正如报错提示那样,改my.ini配置,默认是1M,该大点咯。
方案二:优化SQL语句。
写了那么多的SQL,能出现那么长的SQL,一般都是Insert。
将SQL分段就好了。
我这里是Insert 1000个数据就生成一个SQL。
不管是JAVA,还是PHP,都有可能遇到这种SQL过长的情况。
个人认为,还是SQL优化的方案要好一点。
0 0
- Mysql com.mysql.jdbc.PacketTooBigException 的解决方案
- com.mysql.jdbc.PacketTooBigException: 解决方案
- com.mysql.jdbc.PacketTooBigException: 解决方案
- com.mysql.jdbc.PacketTooBigException: 解决方案
- com.mysql.jdbc.PacketTooBigException:
- com.mysql.jdbc.PacketTooBigException
- com.mysql.jdbc.PacketTooBigException 问题解决
- Cause: com.mysql.jdbc.PacketTooBigException
- MYSQL com.mysql.jdbc.PacketTooBigException错误
- com.mysql.jdbc.PacketTooBigException: Packet for query is too large
- 在Ubuntu/Linux环境下使用MySQL:解决com.mysql.jdbc.PacketTooBigException: Packet for query is too large的问题
- mysql PacketTooBigException 的处理方式
- 解决com.mysql.jdbc.PacketTooBigException: Packet for query is too large (3158064)问题
- com.mysql.jdbc.PacketTooBigException: Packet for query is too large > 1024
- nested exception is com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1109 > 1024
- com.mysql.jdbc.PacketTooBigException: Packet for query is too large (2017898 > 1048576)
- com.mysql.jdbc.PacketTooBigException: Packet for query is too large (4200044 > 1048576). You can cha
- com.mysql.jdbc.PacketTooBigException: Packet for query is too large (11707239 > 1048576). You can c
- org.apache.log4j.Logger 详解
- 【Linux】linux下zlib压缩与crc32校验
- OC之成员变量封装
- CloseHandle(),TerminateThread(),ExitThread()的区别
- 打开word时有弹窗的解决方法
- Mysql com.mysql.jdbc.PacketTooBigException 的解决方案
- SpringMVC源码剖析(一)- 从抽象和接口说起
- ATS 5.3.0中自定义日志格式文件logs_xml.config解读
- linux下使用hostapd时,报错“recv: Network is down”,不能产生ssid或ssid消失的解决方案
- 在Mac OS X上安装Virtual Box 和 Vagrant
- verilog HDL 学习的要点
- Android surfaceview 自定义相机 拍照(闪光灯、前后摄像头)
- Swift Tutorial(swift 教程) 3:Arrays, Objects, and Classes数组,对象和类
- OC之类方法