MYSQL怎么删除重复的数据

如下图,如果L_ListingID和photo这两列有重复的,我用下面的SQL执行更新删除重复的,MYSQL直接挂掉了,请教应该如何正确的删除数据库里所有重复的。

DELETE e1 FROM www_photo e1, www_photo e2 WHERE e1.photo = e2.photo AND e1.photoid > e2.photoid;

图片描述

阅读 3.2k
3 个回答
DELETE e1 FROM www_photo e1 INNER JOIN(SELECT e.photo,e.photoid FROM www_photo e)e2 ON(e1.photo = e2.photo AND e1.photoid > e2.photoid);

这样可以吗?

把photo字段加上索引,如果有其他想法后续更新

查找出来倒是可以,mysql5.5测试时select换成delete报错了

select * from  www_photo
where photo in (select photo from www_photo group by photo having count(photo) > 1) 
and photoid not in (select min(photoid) from  www_photo group by photo having count(photo)>1) 
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题