Rumah > pangkalan data > tutorial mysql > Bagaimana Saya Boleh Cari ID Auto-Incrementing yang Hilang dalam Jadual Pangkalan Data SQL Saya?

Bagaimana Saya Boleh Cari ID Auto-Incrementing yang Hilang dalam Jadual Pangkalan Data SQL Saya?

Susan Sarandon
Lepaskan: 2025-01-11 09:38:40
asal
140 orang telah melayarinya

How Can I Find Missing Auto-Incrementing IDs in My SQL Database Table?

Gunakan SQL untuk mencari ID yang hilang dalam jadual

Dalam jadual pangkalan data dengan kekunci utama penambahan automatik, entri yang dipadamkan boleh mencipta "lubang" dalam nilai medan. Untuk mengenal pasti ID yang hilang ini, anda boleh menulis pertanyaan.

Pertanyaan MySQL dan SQL Server:

<code class="language-sql">SELECT ID + 1
FROM table_name
WHERE ID + 1 NOT IN (SELECT DISTINCT ID FROM table_name);</code>
Salin selepas log masuk

Pertanyaan ini akan memberikan senarai semua ID yang tiada berturut-turut antara entri pertama dan terakhir dalam jadual.

Pertanyaan SQLite:

<code class="language-sql">SELECT DISTINCT id +1
FROM table_name
WHERE id + 1 NOT IN (SELECT DISTINCT id FROM table_name);</code>
Salin selepas log masuk

SQLite tidak menyokong kata kunci LIMIT, jadi gunakan subkueri yang berbeza untuk mengelakkan hasil pendua.

Nota lain:

  • Pertanyaan ini menganggap ID pertama ialah 1.
  • Pertanyaan ini tidak termasuk sebarang ID yang dipadamkan lebih tinggi daripada ID maksimum semasa.
  • Untuk memasukkan ID yang dipadamkan antara maksimum semasa dan parameter MaxID yang ditentukan, ubah suai pertanyaan seperti berikut:
<code class="language-sql">SELECT ID + 1
FROM table_name
WHERE ID + 1 NOT IN (
  SELECT DISTINCT ID FROM table_name
)
AND ID + 1 < MaxID;</code>
Salin selepas log masuk

Sila ambil perhatian bahawa pengubahsuaian ini mungkin tidak disokong oleh semua versi SQLite.

Atas ialah kandungan terperinci Bagaimana Saya Boleh Cari ID Auto-Incrementing yang Hilang dalam Jadual Pangkalan Data SQL Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan