Heim >Datenbank >MySQL-Tutorial >Wie setze ich den SQL Server-Identitäts-Seed nach dem Löschen von Zeilen zurück?

Wie setze ich den SQL Server-Identitäts-Seed nach dem Löschen von Zeilen zurück?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-18 04:56:38870Durchsuche

How to Reset the SQL Server Identity Seed After Deleting Rows?

Zurücksetzen des SQL Server-Identitäts-Seeds nach Zeilenlöschung

SQL Server-Tabellen mit automatisch inkrementierenden Primärschlüsseln verwenden einen Identitäts-Seed – den Anfangswert für die Identitätsspalte – der mit jedem neuen Datensatz zunimmt. Dies gewährleistet Eindeutigkeit und aufsteigende Reihenfolge innerhalb der Identitätsspalte.

Das Löschen von Datensätzen kann diese Reihenfolge jedoch unterbrechen und möglicherweise dazu führen, dass die automatisch generierte Indexspalte falsch ausgerichtet wird. Dies ist besonders problematisch, wenn die Identitätsspalte an anderer Stelle als Fremdschlüssel dient.

Die Wiederherstellung des Identitäts-Seeds nach Löschungen erfolgt mit dem Befehl DBCC CHECKIDENT.

Dieser Befehl setzt den Identitätszähler für eine angegebene Tabelle zurück. Die Syntax des Befehls lautet:

<code class="language-sql">DBCC CHECKIDENT (table_name [, { NORESEED | { RESEED [, new_reseed_value ]}}])
[ WITH NO_INFOMSGS ]</code>

Zum Beispiel das Zurücksetzen der Identitätsspalte der TestTable-Tabelle auf 0:

<code class="language-sql">DBCC CHECKIDENT ('[TestTable]', RESEED, 0);
GO</code>

Wichtiger Hinweis: Während es zuvor in älteren Azure SQL-Datenbankversionen nicht unterstützt wurde, ist DBCC CHECKIDENT jetzt voll funktionsfähig.

Anhaltende Probleme mit dem Zurücksetzen des Identitäts-Seeds können eine Kontaktaufnahme mit dem Microsoft-Support erforderlich machen.

Das obige ist der detaillierte Inhalt vonWie setze ich den SQL Server-Identitäts-Seed nach dem Löschen von Zeilen zurück?. 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