这是表
这是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);
这是错误:
...全文
11357打赏收藏
删除数据库中重复记录出错
这是表 这是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); 这是错误:
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就可以了。
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操作的表,不能和子查询是同一个。
可以用个临时表先把姓名和地址都重复的记录记录一下