> 데이터 베이스 > MySQL 튜토리얼 > MySQL 5.0에서 고유하지 않은 행을 효율적으로 삭제하는 방법은 무엇입니까?

MySQL 5.0에서 고유하지 않은 행을 효율적으로 삭제하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-27 11:01:08
원래의
605명이 탐색했습니다.

How to Efficiently Delete Non-Unique Rows in MySQL 5.0?

Select 문을 사용하여 MySQL에서 고유하지 않은 행 삭제

제공된 쿼리 구문

DELETE FROM post>는 다음을 시도합니다. post 테이블에서 고유 ID가 없는 행을 삭제합니다. 그러나 이 구문은 MySQL 5.0과 호환되지 않습니다.</p>
<p><strong>쿼리 다시 작성</strong></p>
<p>쿼리를 MySQL 5.0과 호환되게 하려면 다음과 같이 다시 작성해야 합니다.</p> <p>`<사전>ID가 IN인 게시물에서 삭제 (</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">SELECT id FROM posts GROUP BY id HAVING ( COUNT(id) > 1 )
로그인 후 복사

)
`

수정된 쿼리 이해

수정된 쿼리는 IN 연산자를 사용하여 다음을 수행합니다. post 테이블의 id 열을 하위 쿼리의 결과 집합과 비교합니다. 하위 쿼리는 post 테이블에서 고유하지 않은 ID를 나타내는 두 번 이상 발생하는 행의 ID를 검색합니다. IN 연산자를 사용하면 쿼리는 고유하지 않은 ID가 있는 행만 삭제 대상으로 선택합니다.

추가 고려 사항

답변 참조에서 언급했듯이 필수입니다. MySQL은 동일한 쿼리 내의 하위 쿼리에서 동일한 테이블을 수정하는 것을 허용하지 않습니다. 이 제한을 피하기 위해 쿼리를 두 개의 개별 쿼리로 분할할 수 있습니다. 즉, 삭제할 행을 식별하는 SELECT 쿼리와 삭제를 실행하는 DELETE 쿼리입니다. 또는 별칭이 포함된 중첩 하위 쿼리를 사용하여 단일 쿼리 내에서 삭제할 수 있습니다.

위 내용은 MySQL 5.0에서 고유하지 않은 행을 효율적으로 삭제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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