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

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

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-25 22:05:02124검색

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에 지시합니다. 결과적으로 고유 제약 조건을 위반한 모든 중복 행은 자동으로 삭제되어 중복 항목을 효과적으로 제거합니다.

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

<code class="sql">ALTER IGNORE TABLE table ADD UNIQUE KEY idx1(title);</code>

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

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

위 내용은 고유 키 제약 조건이 있는 MySQL 데이터베이스에서 중복 레코드를 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.