> 데이터 베이스 > MySQL 튜토리얼 > MySQL 자동 증가 열에서 누락된 일련 번호를 찾는 방법은 무엇입니까?

MySQL 자동 증가 열에서 누락된 일련 번호를 찾는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2025-01-12 09:15:43
원래의
575명이 탐색했습니다.

How to Find Missing Sequential Numbers in a MySQL Auto-Increment Column?

MySQL에서 연속 번호 공백 찾기

이 쿼리에서 포스터는 중복된 항목이 없음에도 불구하고 테이블의 자동 증가 열에서 누락된 값을 발견했습니다. 문제의 목표는 ID 71-82와 같이 연속되지 않을 수 있는 누락된 숫자의 값을 식별하고 반환하는 것입니다.

더 나은 솔루션

JustPlainMJS는 성능을 크게 향상시키는 대안을 제공합니다.

덜 효율적인 솔루션

테이블 크기에 관계없이 다음 접근 방식을 고려하세요.

<code class="language-sql">SELECT 
  (t1.id + 1) as gap_starts_at, 
  (
    SELECT MIN(t3.id) -1 
    FROM arrc_vouchers t3 
    WHERE t3.id > t1.id
  ) as gap_ends_at
FROM 
  arrc_vouchers t1
WHERE 
  NOT EXISTS (
    SELECT t2.id 
    FROM arrc_vouchers t2 
    WHERE t2.id = t1.id + 1
  )
HAVING gap_ends_at IS NOT NULL</code>
로그인 후 복사

이 쿼리에서:

  • gap_starts_at은 현재 간격의 첫 번째 ID를 나타냅니다.
  • gap_ends_at은 현재 간격의 마지막 ID를 나타냅니다.

위 내용은 MySQL 자동 증가 열에서 누락된 일련 번호를 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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