2009-03-03 22 views
3

Şu anda, veri modelimizde artık bir kimlik olmaması için bir sütunun (birincil anahtarın parçası olan) değiştirilmesi de dahil olmak üzere bazı değişiklikleri bir araya getiriyorum. Bu sütunu veya tablonun tamamını gerçekten söküp yeniden oluşturmanın bir yolu var mı? SSMS'den gelen otomasyonlu kod sadece bunu yapıyor ama belki de daha basit bir çözüm olup olmadığını merak ediyordum.Bir Kimliği tamamen nasıl kaldırırım

cevap

4

Bir sütunun Kimlik özelliğini bırakmadan kaldıramazsınız.

Olası çözüm adımları şunlardır:

(a) yeni bir sütun

(b) kimlik sütunu değeri

(c) kimlik sütunu Kaldır ile sütun güncelleyin ekleyin.

Alter Table Tablename Add newColumnname int 

Update Table set newColumnname =IdentityColumn 

Alter Table TableName Drop IdentityColumnName 

Not: şu an için kimlik özelliğini kapatarak bahsediyorsak,

Yap anlamda Komutanlığı

ÜZERİNE Seti IDENTITY_INSERT TableName kontrol?

Alkışlar, John

+0

Bu, Google aracılığıyla bulduğum şeye benziyor. Bu geçici bir değişiklik olmadığından IDENTITY_INSERT bana yardımcı olmuyor. – Mykroft

+1

Belki de bunun karmaşık olmasının nedenlerinden biri, bunu tekrar gözden geçirmenizi sağlamaktır! Bu genellikle bir veritabanının önerilen bir geri dönüşümü değildir. – HLGEM

İlgili konular