2012-01-08 14 views

cevap

6

Sadece yeni bir kimlik sütunu ekleyebilirsiniz, bir la How to add a new identity column to a table in SQL Server?. Sadece eski sütunu silin ve tekrar ekleyin. Tabi ki yabancı anahtarlar kırılacak, ama sanırım herşeyi yeniden numaralandırdığın için, herşeyi tahmin ediyorum.

+2

Anahtar ilişkiler kurduysanız, tüm alt tabloları yeni kimlik değeriyle güncelleyene kadar eski sütunun korunmasını öneririm. Düşebilirsin. – HLGEM

+0

Buradaki sorun, SQL Server'ın bir tabloda birden fazla kimlik sütununa sahip olamamasıdır: http://stackoverflow.com/questions/349092/can-a-sql-server-table-have-two-identity-columns. İlk önce eskisinden kimlik özniteliğini kaldırmanız gerekir. –

+1

YEs, kimlik özelliğini kaldırmanız gereken doğrudur. Öneriniz için – HLGEM

2

değerlerini nasıl değiştirileceği bu örneğe bakın, ama reseed başka bir şeydir:

CREATE TABLE t (id INT IDENTITY) 
GO 
INSERT t DEFAULT VALUES 
GO 25 

SET IDENTITY_INSERT t ON 

delete t 

OUTPUT DELETED.Id+100 INTO T(Id) 

SET IDENTITY_INSERT t Off 

SELECT * FROM t 

DROP TABLE t 

bir örnek reseed ait:

DBCC CHECKIDENT('YourTableName', 150, reseed) 

VE gerekiyorsa

Değeri değiştirin - 2M satırları ile kesinlikle zaman alması gerekiyor

+0

teşekkürler – jr3

İlgili konular