Merhaba arkadaşlar bu kısa yazımda sizlere MSSQL veritabanlarında otomatik artan Identity kolonunuz üzerinde veri set etmenizi sağlayan kısa komutu anlatacağım.
Veritabanınızda adresler tablonuzda primary key Id olsun ve Auto Increment 1 olsun
1 2 3 4 |
CREATE TABLE [dbo].[Adresler]( [Id] [int] IDENTITY(1,1) NOT NULL, [Adress] [nvarchar](30) NOT NULL, [Kisi_Id] [int] NULL) |
Veri eklemek istediğizde aşağıdaki T-SQL ile
1 2 |
INSERT INTO [dbo].[Adresler](Id,[Adress],[Kisi_Id]) VALUES(454545,'f',5) |
Msg 544, Level 16, State 1, Line 4
Cannot insert explicit value for identity column in table ‘Adresler’ when IDENTITY_INSERT is set to OFF.
Yukarıdaki hatayı aldınız, Peki nedir çözüm ?
Çözüm :
SET IDENTITY_INSERT deneme ON;
Not: Özellikle Export veya Import yöntemi ile SQL Management üzerinden veri aktarımı yaparken Database’ler arasında identity columns problem çıkarır veri aktarımı sırasında , çözmek için hata veren tabloların identity’lerini set etme özelliğini açık hale getirmemiz gerekiyor.