原语句如下:
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这文件的具体地址