In diesem Handbuch werden Sie vermittelt, wie Sie eine Identitätsspalte in SQL Server zurücksetzen können, sodass Sie in einer Spalte Identität falsch konfigurierte Werte zurücksetzen können.
SQL Server -Identität
Um einer Tabelle in SQL Server eine Identitätsspalte hinzuzufügen, verwenden Sie die Identitätsabfrage. Die Syntax für die Identitätsabfrage auf dem SQL -Server ist wie gezeigt:
Identität (Seed_Value, Increment_Interval);Die Identitätsanfrage akzeptiert zwei Argumente:
Standardmäßig werden die Saat- und Inkrementwerte auf 1 gesetzt. Daher hat der erste Datensatz in der Tabelle einen Wert von 1 und jeder Datensatz, der der Tabelle hinzugefügt wurde, um 1 hinzugefügt.
Identitätsspalte in SQL Server zurücksetzen
Lassen Sie uns nun lernen, wie Sie eine Identitätsspalte in SQL Server zurücksetzen und warum Sie dies möglicherweise tun müssen.
Erstellen Sie zunächst eine Beispieltabelle und geben Sie Daten ein, wie in den folgenden Abfragen gezeigt:
Tischinventar erstellen (Wir können jetzt die in der Tabelle gespeicherten Daten abfragen wie:
Wählen Sie * aus dem Inventar;Die daraus resultierenden Datensätze sind wie gezeigt:
Beachten Sie die ID -Spalte; Obwohl wir die Werte in unserer Einfügeanweisung nicht angegeben haben, generiert die Identitätsfunktion den Wert automatisch ab 1 und steigt für jeden Datensatz, den wir einfügen.
Warum Identitätspalte zurücksetzen?
Sie können fragen, ob die Spalte Identität automatisch generierte Werte in einer bestimmten logischen Reihenfolge enthält, warum muss ich die Identitätsspalte zurücksetzen?
Schauen Sie sich an, was mit den Daten passiert, wenn wir einen Datensatz aus der Tabelle löschen:
Aus dem Inventar löschen, wobei die Menge = 7;Die obige Beispielabfrage sollte einen Datensatz entfernen, bei dem die Menge gleich 7 ist.
Die Tabelle enthält nun die Aufzeichnungen als:
Wählen Sie * aus dem Inventar;In den ID -Spalten haben wir die Werte, die von 1 bis 6 beginnen. Die ID von 4 fehlt jedoch. Dies geschieht, wenn wir einen Datensatz aus der Tabelle fallen lassen.
Um dies zu beheben, müssen wir die Identitätsspalte zurücksetzen.
Wie man die Identitätsspalte zurücksetzen
Um die Identitätsspalte in SQL Server zurückzusetzen, verwenden wir das DBCC -Checkindent -Verfahren.
Die Syntax des Prozedur ist wie:
Dbcc checkIdent ('table_name', reseD, new_value);Wenn wir jedoch die Identitätsspalte zurücksetzen und versuchen, Daten einzufügen, gibt SQL Server einen Fehler zurück. Um dies zu lösen:
Eine Beispielabfrage, die die obigen Schritte implementiert, ist wie gezeigt:
Wählen Sie * in New_Inventory aus dem Inventar;Sobald die Abfragen erfolgreich ausgeführt wurden, können wir die Daten in der Inventartabelle untersuchen wie folgt:
Wählen Sie * aus dem Inventar;Die resultierenden Tabellenaufzeichnungen sind wie gezeigt:
Hier befindet sich die Spalte der ID in der richtigen Reihenfolge.
Schließen
Diese Anleitung deckt die Grundlagen der Identitätsfunktion in SQL Server ab und zum Zurücksetzen einer Identitätsspalte bei Fehlern.