> 데이터 베이스 > MySQL 튜토리얼 > 외부 스크립트를 사용하지 않고 MySQL에서 중복 행을 어떻게 제거할 수 있습니까?

외부 스크립트를 사용하지 않고 MySQL에서 중복 행을 어떻게 제거할 수 있습니까?

DDD
풀어 주다: 2025-01-24 02:09:09
원래의
414명이 탐색했습니다.

How Can I Remove Duplicate Rows in MySQL Without Using External Scripts?

MySQL에서 중복 행 제거: 데이터베이스 전용 접근 방식

이 가이드에서는 외부 스크립트에 의존하지 않고 특정 열(예: site_id, title, company)을 기반으로 MySQL 테이블에서 중복 행을 효율적으로 제거하는 방법을 보여줍니다. GROUP BY에서는 중복을 식별할 수 있으나 별도의 삭제 과정이 필요합니다. 보다 직접적인 방법은 MySQL의 UNIQUE 인덱스 기능

을 활용하는 것입니다.

UNIQUE 색인 방법(더 이상 사용되지 않음)

이전에는 UNIQUE 키워드와 함께 IGNORE 인덱스를 추가하면 해결 방법이 제공되었습니다. MySQL은 인덱스 생성 중에 중복 행을 자동으로 거부합니다. 구문은 다음과 같습니다.

<code class="language-sql">ALTER IGNORE TABLE jobs
ADD UNIQUE INDEX idx_name (site_id, title, company);</code>
로그인 후 복사

중요 사항:ALTER IGNORE TABLE 접근 방식은 MySQL 5.6에서 더 이상 사용되지 않으며 MySQL 5.7 이상 버전에서는 완전히 제거되었습니다. 따라서 이 방법은 현재 MySQL 설치에서는 신뢰할 수 없습니다.

(최신 MySQL 버전에 필요한 대체 방법) 최신 MySQL 버전에서 중복을 제거하려면 ROW_NUMBER()을 사용하는 다단계 접근 방식이 필요합니다. 이를 위해서는 더 복잡한 쿼리가 필요하지만 여전히 데이터베이스 전용 솔루션입니다. 이 대체 방법에 대한 추가 지침은 다른 리소스에서 확인할 수 있습니다.

위 내용은 외부 스크립트를 사용하지 않고 MySQL에서 중복 행을 어떻게 제거할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿