"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 고유 키 제약 조건이 있는 MySQL 데이터베이스에서 중복 레코드를 제거하는 방법은 무엇입니까?

고유 키 제약 조건이 있는 MySQL 데이터베이스에서 중복 레코드를 제거하는 방법은 무엇입니까?

2024년 11월 19일에 게시됨
검색:162

How to Eliminate Duplicate Records in a MySQL Database with a Unique Key Constraint?

MySQL 데이터베이스에서 중복 레코드 제거: 고유한 핵심 솔루션

데이터 무결성을 유지하는 것은 모든 데이터베이스의 효율적인 운영에 매우 중요합니다. 이 경우 'id'와 'title' 열이 있는 테이블이 있습니다. 여기서 'title'은 구별되어야 합니다. 그러나 수많은 중복을 포함하여 600,000개 이상의 레코드가 존재하므로 고유성을 달성하는 데 어려움이 있습니다. 우리의 목표는 고유한 제목을 손상시키지 않고 이러한 중복 항목을 제거하는 것입니다.

해결책은 고유 키 제약 조건의 힘을 활용하는 것입니다. '제목' 열에 UNIQUE 키를 추가하면 효과적으로 고유성을 적용하고 중복 레코드가 삽입되거나 업데이트되는 것을 방지할 수 있습니다. 그러나 기존 중복 항목이 있는 열에 고유 키를 직접 추가하면 오류가 발생합니다.

이 문제를 해결하기 위해 'ALTER IGNORE TABLE' 명령 뒤에 'ADD UNIQUE KEY' 절을 사용합니다. 이 명령은 고유 키를 추가하는 동안 발생할 수 있는 오류를 무시하도록 MySQL에 지시합니다. 결과적으로 고유 제약 조건을 위반한 모든 중복 행은 자동으로 삭제되어 중복을 효과적으로 제거합니다.

사용할 수 있는 명령 구문은 다음과 같습니다.

ALTER IGNORE TABLE table ADD UNIQUE KEY idx1(title);

이 명령은 특정 MySQL 버전의 InnoDB 테이블과 호환되지 않을 수 있습니다. 이러한 경우 대체 해결 방법은 이 게시물을 참조하세요.

이 명령을 실행하면 '제목' 열에 대한 고유 키를 설정하고 모든 중복 레코드를 한 번에 제거할 수 있습니다. 이를 통해 제목의 고유성을 보장하면서 데이터 무결성을 유지할 수 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3