Fehlende IDs in MySQL-Tabelle finden
In einer relationalen Datenbanktabelle ist es von entscheidender Bedeutung, die Datenintegrität sicherzustellen, einschließlich der Aufrechterhaltung eindeutiger und sequenzieller IDs. Durch Löschungen oder Einfügungen können jedoch Lücken in den ID-Sequenzen entstehen. Dieser Artikel befasst sich mit der Herausforderung, fehlende IDs aus einer MySQL-Tabelle abzurufen, und stellt eine detaillierte Abfrage zur Lösung dieses Problems bereit.
Problemstellung
Bedenken Sie die folgende MySQL-Tabelle:
ID | Name 1 | Bob 4 | Adam 6 | Someguy
Wie Sie sehen können, fehlen ID-Nummern (2, 3 und 5). Die Aufgabe besteht darin, eine Abfrage zu erstellen, die nur die fehlenden IDs zurückgibt, in diesem Fall „2,3,5“.
Lösung
Die folgende Abfrage ruft ab die fehlenden IDs:
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)
Erklärung
Zusätzliche Lektüre
Das obige ist der detaillierte Inhalt vonWie finde ich fehlende sequentielle IDs in einer MySQL-Tabelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!