MS Access数据库已损坏,并且在一个表中重复了几行。它们绝对相同,并且重复项之间没有任何唯一字段,甚至是主键。因此,修复数据库后,主键从此表重置。 现在我只能知道重复的行:
select * from tablename
where id in(
select id from tablename
group by id
having count (*) > 1)
要指定主键,我必须删除两个副本中的一个,但不知道如何。
答案 0 :(得分:1)
一种方法是使用临时表:
select distinct t.*
into TempTABLE
from tablename t;
delete from tablename;
insert into tablename
select *
from TempTable;
即,使用distinct
删除重复项。删除原始表中的所有行,然后插入唯一的行。