Heim > Datenbank > MySQL-Tutorial > Wie kann ich fehlende automatisch inkrementierende IDs in meiner SQL-Datenbanktabelle finden?

Wie kann ich fehlende automatisch inkrementierende IDs in meiner SQL-Datenbanktabelle finden?

Susan Sarandon
Freigeben: 2025-01-11 09:38:40
Original
139 Leute haben es durchsucht

How Can I Find Missing Auto-Incrementing IDs in My SQL Database Table?

Verwenden Sie SQL, um fehlende IDs in einer Tabelle zu finden

In Datenbanktabellen mit automatisch inkrementierenden Primärschlüsseln können gelöschte Einträge zu „Lücken“ in den Feldwerten führen. Um diese fehlenden IDs zu identifizieren, können Sie eine Abfrage schreiben.

MySQL- und SQL Server-Abfragen:

<code class="language-sql">SELECT ID + 1
FROM table_name
WHERE ID + 1 NOT IN (SELECT DISTINCT ID FROM table_name);</code>
Nach dem Login kopieren

Diese Abfrage liefert eine Liste aller aufeinanderfolgenden fehlenden IDs zwischen dem ersten und letzten Eintrag in der Tabelle.

SQLite-Abfrage:

<code class="language-sql">SELECT DISTINCT id +1
FROM table_name
WHERE id + 1 NOT IN (SELECT DISTINCT id FROM table_name);</code>
Nach dem Login kopieren

SQLite unterstützt das Schlüsselwort LIMIT nicht. Verwenden Sie daher unterschiedliche Unterabfragen, um doppelte Ergebnisse zu vermeiden.

Weitere Hinweise:

  • Diese Abfrage geht davon aus, dass die erste ID 1 ist.
  • Diese Abfrage umfasst keine gelöschten IDs, die höher sind als die aktuelle maximale ID.
  • Um gelöschte IDs zwischen dem aktuellen Maximum und dem angegebenen MaxID-Parameter einzubeziehen, ändern Sie die Abfrage wie folgt:
<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>
Nach dem Login kopieren

Bitte beachten Sie, dass diese Änderung möglicherweise nicht von allen Versionen von SQLite unterstützt wird.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage