한개의 테이블에 고유키 없이 중복된 데이터가 들어가 있을 경우 불필요한 중복 데이터 삭제 방법


우선, 테이블 디자인 수정에서 필드 하나를 추가 한다.

타입은 int 로 주고, 속성은 일련번호로 주면 각 필드마다 일련번호 숫자가 알아서 들어간다.


추가한 필드의 이름이 idx 일 경우 아래의 형식대로 쿼리를 날리면 중복데이터는 한개씩만 남고 사라진다.


DELETE FROM 테이블명 WHERE (NOT EXISTS
   (SELECT idx
   FROM (SELECT MIN(idx) idx
      FROM 테이블명
      GROUP BY 중복컬럼명) X
   WHERE 테이블명.idx = X.idx))

쿼리 날리기전 백업은 기본!!

 
2009/08/01 10:27 2009/08/01 10:27

Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다