MS Access数据库中的重复行

时间:2014-02-10 01:45:08

标签: sql ms-access duplicates duplicate-removal

MS Access数据库已损坏,并且在一个表中重复了几行。它们绝对相同,并且重复项之间没有任何唯一字段,甚至是主键。因此,修复数据库后,主键从此表重置。 现在我只能知道重复的行:

select * from tablename
where id in(
select id from tablename
group by id
having count (*) > 1)

要指定主键,我必须删除两个副本中的一个,但不知道如何。

1 个答案:

答案 0 :(得分:1)

一种方法是使用临时表:

select distinct t.*
into TempTABLE
from tablename t;

delete from tablename;

insert into tablename
    select *
    from TempTable;

即,使用distinct删除重复项。删除原始表中的所有行,然后插入唯一的行。