
[MySQL] 테이블 내 중복 데이터 삭제
·
MySQL
서론테이블에 UNIQUE 제약 조건이 없거나, 모종의 이유(?)로 중복 값이 들어있는 경우가 있다.아래의 쿼리를 사용하면 pk가 가장 작은 값은 살아남고, 나중에 들어온 중복 값들을 찾아 삭제한다.이 쿼리를 실행하기 전, 반드시 백업을 해놓고 실행하는 것을 권장한다.중복 제거 쿼리DELETE aFROM [테이블 이름] a, [테이블 이름] bWHERE a.[pk 컬럼] > b.[pk 컬럼] AND a.[중복 값이 들어있는 컬럼] = b.[중복 값이 들어있는 컬럼]; 주의 사항`테이블 이름`은 2개를 작성하지만, 테이블 이름은 똑같아야 한다.마찬가지로 `pk 컬럼`도 똑같은 이름을 작성해야하며, `중복 값이 들어있는 컬럼`도 마찬가지다.사용 예시DELETE aFROM test_db.user a, test_..