mysql 删除相同的数据

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错误。

posted @ 2018-03-08 13:38  zzl2017w  阅读(196)  评论(1)    收藏  举报