开发中经常出现批量的插入或者更新操作,当批量操作的数据较多时,比如到了几万行数据,会遇到操作数据库报错的情况,这个其中一种原因就是max_allowed_packet的配置问题,max_allowed_packet配置了数据库单次执行sql语句的大小,若超出配置的大小,就会出现报错。
如何查看max_allowed_packet配置:
查询语句:
SHOW GLOBAL VARIABLES;
查询结果:
max_allowed_packet 4194304
备注:本机是windows下的5.7.23版本的mysql,默认是4194304byte,即4M。
可对此参数进行适当的修改以解决问题,修改方式:
在my.ini配置文件中进行修改,比如增加一倍,改为8M:
max_allowed_packet=8M