执行sql语句会使sql服务停止
来源:8-7 商品编辑之后端开发上
高敬超
2018-03-09
翔仔老师,我遇到一个问题。执行sql语句时,如果where条件中出现外键就是挂掉sql服务。
UPDATE 表名 SET 列名=值 WHERE product_id=1 and priority=1;
老师比如这句SQL语句product_id和priority都是表中的普通列,就可以查询到,但是如果是这样
UPDATE 表名 SET 列名=值 WHERE product_id=1 and shop_id=1;
其中shop_id是这个表的外键,执行就是挂掉sql服务
望老师解答
写回答
1回答
-
同学好,同学可以把error code 2013贴到百度即可解决。。
mysql执行比较大的sql文件时,会报以下错误:
Error Code: 2013. Lost connection to MySQL server during query
问题原因:sql文件超过了mysql服务器设置的最大脚本文件
解决方法:修改mysql的配置文件,MySQL\MySQL Server 5.6\my.ini,修改或添加max_allowed_packet参数,将大小调整合适的大小,然后重启mysql服务,如:
[plain] view plain copy
[mysqld]
max_allowed_packet=64M
同时 同学为什么要加入外键的条件去判断,既然能用到主键或者唯一键唯一确定了就不需要用外键了呢
10
相似问题