이 가이드에서는 외부 스크립트에 의존하지 않고 특정 열(예: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!