删除数据库中重复记录出错

九零大叔芭蕉 2018-04-04 10:35:49
这是表

这是sql语句:
DELETE FROM table_user WHERE (u_name,u_address) IN (SELECT u_name,u_address FROM table_user GROUP BY u_name,u_address HAVING COUNT(u_name)>1);
这是错误:
...全文
1135 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
九零大叔芭蕉 2018-04-17
  • 打赏
  • 举报
回复
引用 8 楼 qq_28766327 的回复:
https://blog.csdn.net/qq_28766327/article/details/79106253 刚好前段时间做过这个,你看看我这个? 估计你这个是别名的问题
是别名的问题,已解决,谢谢
九零大叔芭蕉 2018-04-17
  • 打赏
  • 举报
回复
引用 7 楼 u012066228 的回复:
mysql的问题,要操作的表和直接子查询中的表不能是同一张表,DELETE FROM table_user WHERE (u_name,u_address) IN (select a.u_name,a.u_address from (SELECT u_name,u_address FROM table_user GROUP BY u_name,u_address HAVING COUNT(u_name)>1) as a) 貌似在外面再包一层欺骗一下mysql就可以了。
是的,已解决,谢谢
刘宇(coder) 2018-04-12
  • 打赏
  • 举报
回复
https://blog.csdn.net/qq_28766327/article/details/79106253 刚好前段时间做过这个,你看看我这个? 估计你这个是别名的问题
糖炒唐朝栗子 2018-04-10
  • 打赏
  • 举报
回复
mysql的问题,要操作的表和直接子查询中的表不能是同一张表,DELETE FROM table_user WHERE (u_name,u_address) IN (select a.u_name,a.u_address from (SELECT u_name,u_address FROM table_user GROUP BY u_name,u_address HAVING COUNT(u_name)>1) as a) 貌似在外面再包一层欺骗一下mysql就可以了。
九零大叔芭蕉 2018-04-05
  • 打赏
  • 举报
回复
引用 2 楼 crynono 的回复:
This error occurs in cases such as the following, which attempts to modify a table and select from the same table in the subquery update和delete操作的表,不能和子查询是同一个。 可以用个临时表先把姓名和地址都重复的记录记录一下
为什么在网上看到别人可以这么用呢
crynono 2018-04-05
  • 打赏
  • 举报
回复
This error occurs in cases such as the following, which attempts to modify a table and select from the same table in the subquery update和delete操作的表,不能和子查询是同一个。 可以用个临时表先把姓名和地址都重复的记录记录一下
九零大叔芭蕉 2018-04-04
  • 打赏
  • 举报
回复
是想删除姓名和地址都重复的记录

56,875

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧