Heim >Datenbank >MySQL-Tutorial >Wie kann ich Lücken in einer MySQL-Auto-Inkrementierungssequenz finden?

Wie kann ich Lücken in einer MySQL-Auto-Inkrementierungssequenz finden?

Susan Sarandon
Susan SarandonOriginal
2025-01-12 06:10:45269Durchsuche

How Can I Find Gaps in a MySQL Auto-Increment Sequence?

Erkennen fehlender Zahlen in automatisch inkrementierenden MySQL-Spalten

Viele MySQL-Tabellen verwenden automatisch inkrementierende Spalten, um eine eindeutige Identifizierung sicherzustellen. Durch das Löschen von Daten oder andere Vorgänge können jedoch Lücken in der fortlaufenden Nummerierung entstehen. Diese Abfrage lokalisiert diese Lücken effektiv innerhalb eines definierten Bereichs:

<code class="language-sql">SELECT (t1.id + 1) AS gap_starts_at,
       (SELECT MIN(t3.id) - 1 FROM arrc_vouchers t3 WHERE t3.id > t1.id) AS gap_ends_at
FROM arrc_vouchers t1
WHERE NOT EXISTS (SELECT t2.id FROM arrc_vouchers t2 WHERE t2.id = t1.id + 1)
HAVING gap_ends_at IS NOT NULL;</code>

Die Ausgabe der Abfrage besteht aus:

  • gap_starts_at: Gibt den Startpunkt einer fehlenden Zahlenfolge an.
  • gap_ends_at: Zeigt den Endpunkt der fehlenden Sequenz.

Das obige ist der detaillierte Inhalt vonWie kann ich Lücken in einer MySQL-Auto-Inkrementierungssequenz 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