mysql> delete mco.* from mcotest as mco where mco.id in( select mo.id from mcotest as mo inner join mcotest as mo2 on mo.aid=mo2.appid and mo.id<>mo2.id and mo.soid=mo2.soid group by mo.aid );
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 3840179
Current database: open360_online
ERROR 1093 (HY000): You can't specify target table 'mco' for update in FROM clause
解决办法,改用联表删除
mysql> delete mco.* from mcotest as mco inner join ( select mo.id from mcotest as mo inner join mcotest as mo2 on mo.aid=mo2.appid and mo.id<>mo2.id and mo.soid=mo2.soid group by mo.aid ) as dup on dup.id=mco.id;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 3840216
Current database: open360_online
Query OK, 13 rows affected (4.22 sec)
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 3840179
Current database: open360_online
ERROR 1093 (HY000): You can't specify target table 'mco' for update in FROM clause
解决办法,改用联表删除
mysql> delete mco.* from mcotest as mco inner join ( select mo.id from mcotest as mo inner join mcotest as mo2 on mo.aid=mo2.appid and mo.id<>mo2.id and mo.soid=mo2.soid group by mo.aid ) as dup on dup.id=mco.id;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 3840216
Current database: open360_online
Query OK, 13 rows affected (4.22 sec)