翻书,看到一条语句, select * from 表名 UNION select 重复字段 from 表名;
用一条件的sql就可以实现:delete from table where id=99 limit 1,n搂主的方法不可靠,如果两条记录是完全一样的话,就不行了
INSERT INTO a_table(id,name) SELECT DISTINCT id,name FROM `b_table` 这个为什么全部插过去。
因为两条记录是完全一样的所以DISTINCT id,name区分不出来
呵呵 UNION不是所有的PHP版本都支持的
首先,楼主要删除的是某字段有重复的记录。而非各字段都重复的记录 因此用SELECT DISTINCT id,name是不能解决问题的 因为假定name有重复而id无重复,那么得到的是全部记录 若用SELECT DISTINCT name 则结果是不重复了,但有缺少了辅助信息id所以要使用分组 select id,name from tbl_name group by name
楼上说得都不错,可以使用 insert into 表 select id,name from tbl_name group by name 然后把原来的表删除,再新表改名。
select * from 表名 UNION select 重复字段 from 表名;
SELECT DISTINCT id,name
FROM `b_table`
这个为什么全部插过去。
因此用SELECT DISTINCT id,name是不能解决问题的
因为假定name有重复而id无重复,那么得到的是全部记录
若用SELECT DISTINCT name 则结果是不重复了,但有缺少了辅助信息id所以要使用分组
select id,name from tbl_name group by name
insert into 表 select id,name from tbl_name group by name
然后把原来的表删除,再新表改名。