Mencari ID Hilang dalam Jadual MySQL
Dalam jadual pangkalan data hubungan, adalah penting untuk memastikan integriti data, termasuk mengekalkan ID unik dan berjujukan. Walau bagaimanapun, jurang dalam jujukan ID boleh berlaku disebabkan oleh pemadaman atau sisipan. Artikel ini menangani cabaran mendapatkan ID yang hilang daripada jadual MySQL, menyediakan pertanyaan terperinci untuk menyelesaikan isu ini.
Pernyataan Masalah
Pertimbangkan jadual MySQL berikut:
ID | Name 1 | Bob 4 | Adam 6 | Someguy
Seperti yang anda boleh perhatikan, terdapat nombor ID yang hilang (2, 3, dan 5). Tugasnya adalah untuk membina pertanyaan yang akan mengembalikan hanya ID yang hilang, dalam kes ini, "2,3,5".
Penyelesaian
Pertanyaan berikut mendapatkan semula yang hilang ID:
SELECT a.id+1 AS start, MIN(b.id) - 1 AS end FROM testtable AS a, testtable AS b WHERE a.id < b.id GROUP BY a.id HAVING start < MIN(b.id)
Penjelasan
Bacaan Tambahan
Atas ialah kandungan terperinci Bagaimana untuk mencari ID Sequential yang hilang dalam Jadual MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!