SQL Identity Kolonun Sıra Atlama Sorunu

SQL Identity Kolonun Sıra Atlama Sorunu

7 Eylül 2018 0 Yazar: Mustafa BÜKÜLMEZ
Toplam Görüntülenme : 26
Yaklaşık okuma süresi : 2 DK
IDENTITY_INSERT is set to ON/OFF Kullanımı ve Hata Çözümü
SQL Dil Sorunu (Ay Adı vs.) Çözümü
SQL Identity Kolonun Sıra Atlama Sorunu
5 (100%) 1 Oy

SQL Identity Kolonun Sıra Atlama Sorunu , çözüm dersi ile sql eğitim setime devam ediyorum. Bu dersimde anlattığım şey aslında tam olarak çözüm değil. Sorunun neyden kaynaklandığını çözdüm ama sorunun devam etmemesi gibi bir durum yok ki çok önemli bir sorun da olduğu söylenemez. Yani bir süre sonra karşımıza bir hata olarak çkmayacak bir sorun. Gelin SQL Identity Kolonun Sıra Atlama Sorunu sebebini görelim.

SQL Identity Kolonun Sıra Atlama Sorunu

Bu dersimizde MS-SQL de tablolardaki Identity alanların bazen 1 yada 2 sıra atladığını görürüz bunun sebebi nedir onu açıklamaya çalışacağım.

Arkdaşlar sql de tablolarda

Identity(1,1)

şeklinde bir kolon tanımladığımızda bu kolona müdahele ettirmiyor ve otomatik olarak birer birer arttırıyor. Ama bazen bakıyoruz ki kayıt olmadığı halde identity sırası 1 yada 2 sıra atlamış bunun sebebini biraz araştırdım birazda tecrübelerime ve testlerime dayanarak çözdüm.

Bu sorunun sebebi insert hatalarından kaynaklanıyor. (Deneyebilirsiniz.) (Tabi burada delete ile sildiğimiz kayıtlardan bahsetmiyorum. Delete yapmadan oluşan sıra atlamalarından bahsediyorum.)

Yani şöyle ki bir insert komutunuz var ve bir virgülü eksik yazdınız. Programdan kaydet butonuna tıkladınız ve hata aldınız.

İnsert hatasız yapılsaydı varsayalım ki ID’si 12569 olacaktı ama hata verdi. Hatayı düzelttiniz ve yeni bir kayıt daha eklediniz bu yeni kaydın ID 12570 oluyor. 12569 kayıp.

Burada benim ulaştığım sonuç şu şekilde:

SQL insert komutu okumaya başladığı anda 12569 ID numarasını hafızasına alıyor. Kayıt başarısız olduğunda o ID yine de kullanılmış olduğundan o ID’yi serbest bırakmıyor. Bu yüzden de son kayıt(12570) ile bir önceki kaydın(12568) arasında olması gereken 12569 ID numarası tabloda bulunmuyor.

Bu olay bazı durumlarda sorun çıkarabilir mi bilmiyorum ama ben daha önce bir sorun yaşamadım. Belki yaşayan birileri vardır yada sebebini merak edenler vardır diye paylaşmak istedim.


SQL İdentity Kolonun Sıra Atlama Sorunu, dersimizde bu kadardı dostlar. Diğer derslerimizde görüşmek üzere.

Microsoft SQL Server & T-SQL Eğitim Seti ders listesi için tıklayınız.

Sağlıcakla ve Takipte Kalın. 😉

IDENTITY_INSERT is set to ON/OFF Kullanımı ve Hata Çözümü
SQL Dil Sorunu (Ay Adı vs.) Çözümü

Liseden, Ağ Sistemleri ve Yönetimi bölümünden mezun oldum. Üniversiteden (2 yıllık), Bilgisayar Programcılığı bölümünden mezun oldum. Şuanda da AÖF, Yönetim Bilişim Sistemleri bölümünde okumaktayım.

Uzmanlık alanlarım; Windows Sistemleri, HTML, CSS, C# ve SQL’dir.

Hobi olarak uğraştığım genel konular, Photoshop, After Affects, Corel Draw’dır.Film, YABANCI dizi, Anime izlemeyi ve Manga okumayı severim. Arkadaşlarımla yürüyüş yapmayı ve grup olarak aktivitelere gitmeyi severim. Geri kalan zamanlarımın tümü bilgisayar karşısında geçer.