2014-02-10 2 views
0

MS Access 데이터베이스가 손상되어 한 테이블에서 행 수가 거의 복제되지 않았습니다. 그것들은 이고 절대적으로이고 중복 된 것들 사이에는 고유 한 필드가 없으며 심지어 기본 키도 있습니다. 이 때문에 기본 키는 데이터베이스를 복구 한 후이 테이블에서 다시 설정되었습니다.MS Access 데이터베이스에서 중복 된 행

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

내가이 개 중복 중 하나를 삭제해야 기본 키를 지정하기 위해,하지만 방법을 몰라 : 지금 난 단지 중복 된 행을 알 수 있습니다. 이 작업을 수행 할 수

+0

검색 결과 : 전에 gazillion 시간을 물었다. GBN은 내가 회상하는 좋은 대답을 가지고 있었다. ... –

+0

나는이 질문을 보았다. 그러나 나는 그것을 이해할 때 각각의 복제물마다 다른 고유 한 식별자가 있다는 것을 알았다. 내 경우에는 그런 분야가 없습니다. –

답변

1

한 가지 방법은 임시 테이블입니다 :

입니다
select distinct t.* 
into TempTABLE 
from tablename t; 

delete from tablename; 

insert into tablename 
    select * 
    from TempTable; 

, distinct를 사용하여 중복을 제거합니다. 원본 테이블에서 모든 행을 삭제 한 다음 고유 한 행을 삽입하십시오.