MySQL DELETE 문에서 LIMIT를 사용하여 행 범위를 삭제하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-10-28 04:41:02
원래의
266명이 탐색했습니다.

How to Delete a Range of Rows Using LIMIT in MySQL DELETE Statement?

LIMIT를 사용하여 MySQL DELETE 문의 구문 수정

DELETE 문을 사용하여 MySQL 테이블에서 행 범위를 삭제하려고 할 때 LIMIT 절을 사용하는 경우 구문이 올바르지 않으면 오류가 발생할 수 있습니다. 이 오류는 일반적으로 제한을 지정하는 데 사용된 구문에 문제가 있음을 나타냅니다.

제공된 쿼리의 문제는 DELETE 문의 LIMIT 절에 오프셋을 지정할 수 없다는 것입니다. DELETE 문에서 LIMIT 절을 사용하는 구문은 오프셋이나 시작점을 지정하지 않고 LIMIT 입니다.

이 문제를 해결하려면 쿼리를 다시 작성하여 행을 지정해야 합니다. 더 정확하게 삭제했습니다. 이를 수행하는 한 가지 방법은 IN 절을 사용하여 삭제하려는 행의 ID를 선택한 다음 해당 ID를 사용하여 DELETE 문에서 행을 필터링하는 것입니다.

다음은 다시 작성할 수 있는 방법의 예입니다. 쿼리:

<code class="sql">DELETE FROM `chat_messages` 
WHERE `id` IN (
    SELECT `id` FROM (
        SELECT `id` FROM `chat_messages`
        ORDER BY `timestamp` DESC
        LIMIT 20, 50
    ) AS `x`
)</code>
로그인 후 복사

이 쿼리에서는 먼저 하위 쿼리를 사용하여 삭제하려는 행의 ID를 선택합니다. 그런 다음 기본 DELETE 문의 IN 절을 사용하여 해당 ID를 기준으로 행을 필터링하여 원하는 행 범위를 삭제합니다.

다음을 조정해야 할 수도 있다는 점에 유의하는 것이 중요합니다. 테이블의 특정 구조와 원하는 동작을 기반으로 한 쿼리입니다.

위 내용은 MySQL DELETE 문에서 LIMIT를 사용하여 행 범위를 삭제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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