mysql 由in引起的 [Err] 2013 - Lost connection to MySQL server during query 的解决

原语句如下:

update qrcode_single set time_lose = now(),operator_id = '209150004' 

where (qrcode_id in (select small_id from qrcode_related_box 

where (big_id in (select small_id from qrcode_related_batter 

where big_id='/p/0101O8rQgTlZVWKdNx-5xUYb*w'))));

语句中连接了三张表,两个in,严重影响查询效率,并且还会引起如上错误。。。

后面想起有更好的办法,就是去掉in改为

update qrcode_single as qrs,qrcode_related_box as qrrb, qrcode_related_batter as qrb set qrs.time_lose = now(),qrs.operator_id = '209150004'  

where qrs.qrcode_id = qrrb.small_id and qrrb.big_id = qrb.small_id and qrb.big_id = ‘/p/0101O8rQgTlZVWKdNx-5xUYb*w';

问题解决。。。


网上还有说要改my.ini:

修改my.ini

max_allowed_packet = 500M

好了

 

教你们如何找到系统当中的my.ini文件

开始 运行  services.msc  出现服务 找到mysql 点属性  有一个可执行文件的路径,一直往后找,一定会出现my.ini这文件的具体地址

你可能感兴趣的:(数据库)