2011-06-03 27 views

cevap

6

SQL Server veritabanının ilk olarak SQL Server 2000'den önceki bir sürümde tasarlandığını tahmin ediyorum ve bu, standart int'den daha büyük bir 'tamsayı' elde etmenin tek yolu buydu. O zamandan beri, bir bigint daha uygun olurdu.

0

Bir tamsayı için muhtemelen maksimum hassasiyet. Bunu her zaman 64 bit rakamlar üreten bir veritabanı üreticisinden sağlanan birincil anahtarlar için kullanırım.

Aslında SQL Server kullanmıyorum, ancak veritabanımda tamsayı 32 bit sayı, 64 bit değil. Diğer cevapta da önerildiği gibi, bu tür bir sınırlamanın mevcut olduğu bir veritabanında başlaması muhtemeldir.

+0

Bu bir tam sayı değil. Tamsayı kullanmak için neden int kullanıyorsun? – JoelFan

1

Anahtar için doğru veya yanlış bir tür yok. İşletme alanını doğru şekilde temsil eden veya giriş verilerini eşleştiren nitelik ve türleri seçmelisiniz. Eğer kaydettiğiniz veriler sayısal tipte ise o zaman niçin sayısal olarak saklamıyorsunuz?

+1

Birincil anahtar iş verileri olmamalıdır! – JoelFan

+1

Belki de selefiniz daha iyi biliyordu – sqlvogel

+0

http://rapidapplicationdevelopment.blogspot.com/2007/08/in-case-youre-new-to-series-ive.html – JoelFan

0

Hazırda bekletme modunuzun şemayı oluşturmasına izin verirseniz, Uzun veri türünü sayısal ayarlarla (19,0) jtds ile dönüştürür. Sizin durumunuzda benzer bir şey olmuş olabilir.

İlgili konular