Veritabanında otomatik artan primary key nasıl yapılır?

595914

Centipat
Katılım
4 Kasım 2022
Mesajlar
80
Birincil anahtarı primary key identity(1, 1) olarak ayarladım yani her veri girildiğinde pk(birincil anahtarı) 1 arttırarak otomatik giriyordu. Ama atıyorum Pk'si 5 olan veriyi silip tekrar veri eklediğimde Pk'si 5 değil 6 oluyor. Yani sıra şöyle devam ediyor; 1, 2, 3, 4, 6.... 5 sayısı artık alınmış oluyor. O kısmı nasıl doldurabiliriz. Sıra sıra artması için chat GPT'de yapamadım cevabı bir de siz bakabilir misiniz?
 

Dosya Ekleri

  • 124124.JPG
    124124.JPG
    12,7 KB · Görüntüleme: 43
Kod:
create table siparisler
(
    siparisNo int identity(1,1), --not null yerine otomatik artan alan yapılabilir. pk olarak da atanabilir.
    perNo int,
    siparisTutar decimal(5,2),
    primary key (siparisNo),
    --yas int check(yas >= 18 and yas < 65), -- alter ile sonradan da eklenebilir. Sonradan eklerken isim de verilebilir.
    --constraint FK_PersonelSiparis foreign key (perNo) references personel(personelNo)
)

Örnekte görülüğü gibi identity(1,1) yazarak 1'den başlayan ve birer artan sayı verilebilir.

Her şeyin sıfırlanması için bildiğim kadarıyla truncate kullanılıyor. Tablodaki tüm veri sıfırlanır. Onun haricinde aradan satır silinse bile kaldığı yerden devam eder.
 
Veri tabanı olarak ne kullanıyorsunuz?

O özelliği zaten pk sütununu indentity(1, 1) olarak tanımlarken aktif etmişim. MSSQL kullanıyorum. Bu arada kimse açıklamayı okumamış başlığa göre yorum yapyor. Asıl sorum açıklama kısmında arkadaşlar. Yardım severliğinizden dolayı minnet duyuyorum size tekrar teşekkürler herkese.
 
O özelliği zaten pk sütununu indentity(1, 1) olarak tanımlarken aktif etmişim. MSSQL kullanıyorum. Bu arada kimse açıklamayı okumamış başlığa göre yorum yapyor. Asıl sorum açıklama kısmında arkadaşlar. Yardım severliğinizden dolayı minnet duyuyorum size tekrar teşekkürler herkese.

Atlayan kısmı tabloyu sıfırlamadan kullanamazsın. Bunu ID ataması TC belirlenmesi gibi düşün. Ölen insanların TC'si yeni doğanlara verilmiyor.
 

Yeni konular

Geri
Yukarı