'IDENTITY_INSERT OFF olarak ayarlandığında tabloda kimlik sütunu için açık değer eklenemiyor' Hatası Nasıl Onarılır?



Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin

Birincil anahtar sütunu, genellikle bir SQL Server veritabanı oluştururken otomatik olarak artacak şekilde ayarlanır. KİMLİK sınırı, birincil anahtar sütununun bunu yapması için ayarlanır. Başlangıç ​​konumu ve artış adımı, parametreler olarak KİMLİK sütununa aktarılır. Daha sonra yeni bir kayıt eklendiğinde ve kimlik girişi KAPALI olarak ayarlandığında, KİMLİK sütununun değeri önceden tanımlanmış adım normalde bir sayı ile artırılır. Ayrıca, IDENTITY INSERT özelliği, tek bir oturumda yalnızca bir tablo için ON olarak ayarlanmıştır.



Bu yazıda hatayı tartışacağız 'Tabloda kimlik sütunu için açık değer eklenemez

IDENTITY_INSERT OFF olarak ayarlandığında ' Aşağıda gösterildiği gibi.



'IDENTITY INSERT OFF' u çevirmek ve 'PRIMARY KEY ID' olmadan verileri insert deyimine eklemek



Hata, kullanıcı 'kimlik_insert' öğesini 'KAPALI' olarak ayarladığında ortaya çıkar. Ardından, tablonun birincil anahtar sütununa açıkça veri eklemeye çalışır. Bu, aşağıdaki örnek kullanılarak açıklanabilir.

Veritabanı ve tablo oluşturma:

İlk önce 'appuals' adlı bir veritabanı oluşturun.

'Appuals' adlı bir veritabanı oluşturmak.



Aşağıdaki kodu kullanarak 'kişi' adlı bir tablo oluşturun. Bir kullanarak oluşturulmuş tablo 'BİRİNCİL ANAHTAR KİMLİĞİ'

CREATE TABLE person (ID INT IDENTITY (1, 1), first_name VARCHAR (MAX), last_name VARCHAR (MAX))

'Kişi' adlı bir tablo oluşturmak

'Identity_insert off ayarı için sözdizimi | on ”:

“Identity_insert'i kapat | üzerinde ” bu hatayı çözmemize yardımcı olacaktır. Bu ifade için doğru sözdizimi aşağıdaki gibidir.

IDENTITY_INSERT AYARLA. .
AÇIK

İlk argüman ise tablonun bulunduğu veritabanının adıdır. İkinci argüman, kimlik değerinin ayarlanması gereken tablonun ait olduğu şemadır. AÇIK veya KAPALI . Üçüncü argüman

kimlik sütununa sahip tablodur.

Tabloya hatasız veri eklemenin temelde iki farklı yolu vardır. Bunlar, bu hatanın çözümü olarak kabul edilir ve aşağıda tartışılır.

Hata 1: Identity_insert'i KAPALI olarak ayarlayın

İlk durumda, verileri tabloya ekleyeceğiz. 'KİMLİK GİRİŞİ' ayarlanır 'KAPALI' . Dolayısıyla, ID INSERT deyiminde mevcutsa, hatayı alırsınız 'IDENTITY_INSERT OFF olarak ayarlandığında' person 'tablosundaki kimlik sütunu için açık değer eklenemez'.

Sorgu sekmesinde aşağıdaki kodu yürütün.

Identity_insert kişiyi kapatın; kişi (ID, ad, soyad) değerlerine (3, 'Sadia