2016-03-01 96 views
0

我有一个拥有1200000条记录的Mysql数据库,它拥有着名艺术家的专辑。唯一的问题是,有重复,但唯一的重复字段不是主键,而是标题。 PHP中有一个简单的脚本来删除不需要的脚本吗?过滤数据库并删除重复

回答

2

删除一行,如果有exists另一行标题相同但ID较低。

delete from tablename t1 
where exists (select * from tablename t2 
       where t2.title = t1.title 
       and t2.id < t1.id) 
0

试试这个

SELECT distinct tablename .* 
    FROM tablename as tb1 
    join tablename as tb2 
WHERE tb1.title = tb2.title 
    and tb1.id < tb2.id 

它可以帮助你获取非重复记录

删除重复记录

DELETE tablename 
    FROM tablename as tb1 
    join tablename as tb2 
WHERE tb1.title = tb2.title 
    and tb1.id < tb2.id