Ik heb getest wat Giogri zegt en als je de identiteitsspecificatie inschakelt (tenminste in 2008, waarschijnlijk ook andere versies) nadat de tabel rijen heeft, zal de database de nummering starten op de hoogste integerwaarde. Als je één rij hebt met 100 als kolomwaarde, schakel dan Identiteit in, de volgende invoeging is 101. Zelfs met Identity Seed gespecificeerd als 1. Was niet wat ik had verwacht, maar het is wat er is gebeurd.
Naast SET IDENTITY INSERT
, er is ook een reseed-opdracht. DBCC CHECKIDENT
commando dat uw identiteitswaarden terugzet naar wat u opgeeft.
Aangezien het inschakelen van de identiteitsspecificatie eigenlijk begint bij het hoogste gehele getal in de kolom, heeft iemand waarschijnlijk ofwel SET IDENTITY_INSERT
gebruikt of deed een DBCC CHECKIDENT
.
De snelste manier om de volgorde te wijzigen, zoals Andomar zegt, is door de kolom op deze manier te laten vallen / opnieuw te maken
ALTER TABLE tbl
DROP COLUMN ident_column
GO
alter TABLE tbl
ADD ident_column int IDENTITY
SET IDENTITY_INSERT
docs:http://msdn.microsoft.com/ nl-nl/bibliotheek/aa259221(SQL.80).aspx
DBCC CHECKIDENT
docs:http://msdn.microsoft.com/ nl-us/library/aa258817(SQL.80).aspx