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>
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>
SQLite tidak menyokong kata kunci LIMIT, jadi gunakan subkueri yang berbeza untuk mengelakkan hasil pendua.
Nota lain:
<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>
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!