Lad os starte med at forstå Identity-egenskaben først, og derefter kan vi fortsætte til trin, hvordan kan vi nulstille den? Opret en SQL Server-tabel med identitetskolonne ved at bruge nedenstående script
USE TEST GO
CREATE TABLE dbo.Person( ID INT IDENTITY(1,1), Name VARCHAR(10))
Lad os indsætte nedenstående poster ved at bruge nedenstående udsagn
INSERT INTO dbo.Person(name)
VALUES ('Aamir')
INSERT INTO dbo.Person(Name)
VALUES ('Aamir Shahzad')
Kun én post vil blive indsat, og anden post vil mislykkes, da størrelsen på strengen er større end størrelsen på kolonnedatatypen Fig 1-Indsæt poster i SQL Server-tabel
Tjek identiteten Værdien af en kolonne: For at kontrollere identitetsværdien af en kolonne kan vi bruge nedenstående erklæring
--Check the Identity Value of a Column
DBCC CHECKIDENT ('dbo.Person');
Fig 2- DBCC CHECKIDENT to see the Identity Value
Selv indsættelsen mislykkedes for anden post, men identitetsværdien øges. Hvis vi vil indsætte næste post, vil identitetsværdien være 3 for det, som vi kan se i fig.
Her er et par måder at nulstille en kolonnes identitetsværdi efter sletning data.
Nulstil identitetsværdi ved at bruge TRUNCATE: Hvis vi ønsker at slette alt fra tabel og tabel ikke har nogen fremmed nøglerelation, kan vi afkorte tabel, og det vil rense dataene samt indstille identitetsværdien Fig 3-Brug Truncate til at rense tabel og nulstille identitetsværdi
Nulstil identitetsværdi ved at bruge DBCC CHECKIDENT: Hvis tabellen er i relation til en anden tabelrelation (primær-udenlandsk nøgle), vil vi ikke være i stand til at afkorte tabellen. I så fald skal vi slette værdierne fra tabellen ved at bruge Delete-sætningen og derefter indstille identitetsværdien.
DBCC CHECKIDENT ('dbo.Person', RESEED, 0);
Fig. 4. Slet data fra tabellen og brug DBCC CHECKIDENT til at gense identitetsværdien
Videodemo:Sådan nulstiller du identitetskolonneværdi i SQL Server-tabel