IDENTITY ALANI SIFIRLAMA VEYA FARKLI BİR DEĞERE SET ETME

Reading Time: 2 minutes

Bildiğiniz üzere Identity alanlar genelde tablomuzda Primary Key olarak atadığımız ve her kayıt Insert edildiğinde istediğimiz sayıda artan değere sahip alanlardır.

Test tablomuzu oluşturalım ;

 

Test tablomuza veri basalım ,

Şimdi ise tablomuza SELECT işlemi uygulayarak veirlerimizin doğruluğunu test edelim;

 

Bu sonuca göre ;

1

Gördüğünüz üzere , Id alanımızı Idenitity ve birer birer artacak şekilde ayarlamıştık ve her kayıt eklediğimizde otomatik olarak arttığını görmekteyiz.

Peki ben şimdi tablomdan bir kayıt silip tekrar eklemeye çalışırsam tablomda ki Id kolonum da bir değişiklik olur mu ?

 

Yukarıda ki scriptleri kullanarak işlemimi gerçekleştirdim ve şimdi tablomuza SELECT çekerek son durumunu gözlemleyelim .

2

Tablomuzda Id kolonumuza baktığımızda sıralama 1,2 ve 4 olarak değişmiştir. Bunun nedeni ; tablomuzda ki verileri silsek bile eklenen kayıdın Id değeri son Id değerinden sonraki değer olacaktır.

Yani bizim örneğimize göre son Id değeri  3 ‘tü ve biz Id değeri 3 olan kayıdı sildik fakat tablo üzerinde son Id değeri 3 olduğundan yeni eklediğimiz kayıt 4 olarak atandı.

Peki biz Id değerimizin kaldığı yerden devam etmesini istiyorsak ne yapmalıyız ?

DBCC CHECKIDENT (‘Tablo Adı’,RESEED, Başlatılacak Sayı)

Yukarıda aktardığım komut ile Identity alanlarımızı istediğimiz sayıya set ederek işlemlerimizi gerçekleştirebiliriz.

Bizim örneğimize dönecek olursak  ;

Eğer Id ‘si 4 olan kayıt değilde yapıyı bozmak istemyorsak ve bu kayıdın Id si eklendiğinde sıradan devam etsin yani 3 olarak atanacaksa yukarıda ki scripti kullanarak Identity değerimizi set edebiliyoruz.

Adım 1 : Id si 4 olan kayıdı siliyoruz.

Adım 2 : Identity alanımızı 3 ten başlayacak şekilde set ediyoruz..

Adım 3 :Kayıdımızı ekliyoruz.

Adım 4: Bu adımda ise tablomuzun son haline bakıyoruz..

3

Gördüğünüz üzere Id değerimiz sırasıyla gitmektedir.

DBCC  CHECKIDENT  komutu  ile Identity alanlarımızın kontrolünü sağlayabiliriz.

Tablomuzun hangi ıdentity degree sahip olduğunu aşağıda ki komut ile görebiliriz.

 

Bu komutun sonucunda Mesaj bölümünde aşağıda ki gibi bir uyarı gelmektedir.

Checking identity information: current identity value ‘3’, current column value ‘3’.

DBCC execution completed. If DBCC printed error messages, contact your system administrator.

 

Identity değerimizin 3 olduğunu bu şekilde görmekteyiz.

İyi Çalışmalar.

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *