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>
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>
SQLite unterstützt das Schlüsselwort LIMIT nicht. Verwenden Sie daher unterschiedliche Unterabfragen, um doppelte Ergebnisse zu vermeiden.
Weitere Hinweise:
<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>
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!