2010-12-07 21 views
8

Ben sadece bir veritabanı ve bu işe değeri eklemeye çalıştık. Şimdi tekrar ekliyorum ve aynı birincil anahtar için bir hata alıyorum.SQL Server Express Management Studio üzerinden otomatik artış ayarlanamıyor mu?

Otomatik artış olacak şekilde değiştirmek için herhangi bir seçenek bulamıyorum.

Tabloyu Linq-To-Sql aracılığıyla güncelliyorum.

User u = new User(email.Text, HttpContext.Current.Request.UserHostAddress, 
             CalculateMD5Hash(password.Text)); 
db.Users.InsertOnSubmit(g); 
db.SubmitChanges(); 

ben user_id doldurmak vermedi ve gayet ilk kez çalıştı. Sıfır oldu. ikinci bir kullanıcı eklemek için çalışıyorum, tekrar kimliğini 0 yapmak istiyor.

Veritabanını sorgulayabilir ve en yüksek kimliği isteyebilirim, ancak otomatik artışla ilgili bilgi sahibi olursanız çok uzaklara gider.

Nasıl bu açabilirsiniz ? Tek bulabildiğim tablo oluşturma için komut dosyaları. Mevcut masamı tutmak ve basitçe düzenlemek istiyorum.

cevap

20

Linq'den SQL'e modeliniz nasıl tanımlandı? user_id sütununun özelliklerini kontrol edin - ne için ayarlanmışlar? senin Linq SQL modelinde

alt text

, aynı zamanda ( INT IDENTITY) ayarlarınızı uymalıdır Auto Generated Value true seti, OnInsert için Auto-Sync seti ve sunucu veri türü olduğundan emin olun

SQL Server Management Studio'da tip INT IDENTITY olması user_id sütun tanımlamak gerekir - görsel tablo tasarımcısı olduğu gibi burada da bu özelliği ayarlamak gerekir:

alt text

+0

Teşekkür değiştiremezsem el user_id artırmak ve insert işlevine iletebilirsiniz: o yönetim stüdyoda bu makaleye bakın. – KdgDev

1

Birincil anahtar sütun türü için bir tamsayı olduğunuz için sıfırdır. Otomatik artış kullanmak için, tablo kimliği sütununu ID'ye ayarlayın (tablo özelliklerinde seçili)

0

Yoksa özellik/tablo alanı description

İlgili konular