DELETE from sign_exchange WHERE id in(SELECT * from (SELECT id from sign_exchange WHERE type=3 and activity_id=39 GROUP BY `uid` HAVING COUNT( * ) >1) as b
为什么要套这样一个select?因为 更新数据时使用了查询,而查询的数据又做更新的条件,mysql不支持这种方式
如果不套上这个select查询,那么将会报1093 - You can't specify target table 'user' for update in FROM clause错误。