Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Cari Jurang dalam Urutan Peningkatan Auto MySQL?

Bagaimanakah Saya Boleh Cari Jurang dalam Urutan Peningkatan Auto MySQL?

Susan Sarandon
Susan Sarandonasal
2025-01-12 06:10:45269semak imbas

How Can I Find Gaps in a MySQL Auto-Increment Sequence?

Mengesan Nombor Hilang dalam Lajur Auto-Tambahan MySQL

Banyak jadual MySQL menggunakan lajur kenaikan automatik untuk memastikan pengenalan unik. Walau bagaimanapun, pemadaman data atau operasi lain boleh meninggalkan jurang dalam penomboran berurutan. Pertanyaan ini secara berkesan menentukan jurang ini dalam julat yang ditentukan:

<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>

Keluaran pertanyaan terdiri daripada:

  • gap_starts_at: Menunjukkan titik permulaan bagi urutan nombor yang hilang.
  • gap_ends_at: Menunjukkan titik akhir urutan yang hilang.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Cari Jurang dalam Urutan Peningkatan Auto MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn