ITPub博客

首页 > 数据库 > MySQL > MySQL Case-max_allowed_packet过小是否会截取sql文本

MySQL Case-max_allowed_packet过小是否会截取sql文本

原创 MySQL 作者:哎呀我的天呐 时间:2022-01-05 16:00:15 0 删除 编辑

问题描述

insert into t1 values('aa','bb','cc;cc','dd');

单条语句脚本source执行成功。但是如果几百万条数据,在source的时候却执行到一段数据库后就会出现报错:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your  server version for the right syntax to use near cc,dd at line 1.

如果你是,这个问题你的第一思路是什么?和max_allowed_packet有关?我的判断是语意语法这关还没过,肯定是SQL文件有问题,而有的朋友判断是和max_allowed_packet设置过小有关,那么我们带着这样的疑问来测试下吧!!

mysql> set global max_allowed_packet = 2;
Query OK, 0 rows affected, 2 warnings (0.06 sec)

退出,编写一个大的sql文本执行,可以看到报如下错误

那么答案已经有了,根据SQL的执行顺序,首先是要校验语意语法的,这只是一段硬代码的校验,还涉及不到server层,

这个问题比较简单,首先你要对SQL执行顺序非常了解!

这个问题的排查思路

检查SQL文本,看是否有特殊字符,中文分号等等。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29990276/viewspace-2850813/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
https://cloud.tencent.com/developer/inventory/14362

注册时间:2014-10-30

  • 博文量
    403
  • 访问量
    2528832