Heim >Datenbank >MySQL-Tutorial >Wie kann ich fehlende IDs in einer MySQL-Tabelle finden?

Wie kann ich fehlende IDs in einer MySQL-Tabelle finden?

Susan Sarandon
Susan SarandonOriginal
2024-12-06 02:06:11676Durchsuche

How Can I Find Missing IDs in a MySQL Table?

Identifizieren fehlender Bezeichner in einer MySQL-Tabelle

Innerhalb einer MySQL-Tabelle ist es möglich, auf fehlende Bezeichner zu stoßen, wodurch Lücken in der numerischen Reihenfolge entstehen. Um diese fehlenden IDs abzurufen, ist eine spezielle Abfrage erforderlich.

Abfrage nach fehlenden IDs

Beachten Sie die bereitgestellte Beispieltabelle:

ID Name
1 Bob
4 Adam
6 Someguy

Von In dieser Tabelle ist ersichtlich, dass die IDs 2, 3 und 5 fehlen. Um diese fehlenden Bezeichner zu extrahieren, kann die folgende Abfrage verwendet werden:

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

Erläuterung

  • Die Testtabelle ist selbstverknüpft, um benachbarte Zeilen zu vergleichen.
  • Die ID 1 (Start) stellt die potenziell fehlende ID dar, die unmittelbar auf die aktuelle ID folgt (a.id) 🎜>
  • Die Zeilen, die die Bedingung erfüllen, beginnen < MIN(b.id) sind die Bereiche mit fehlenden IDs.
  • Zusätzliche Ressourcen

Weitere Einblicke zu diesem Thema finden Sie im Folgenden:

[Beispiel Sequenzlücke Code](https://web.archive.org/web/20220706195255/http://www.codediesel.com/mysql/sequence-gaps-in-mysql/)

    Das obige ist der detaillierte Inhalt vonWie kann ich fehlende IDs in einer MySQL-Tabelle finden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn