Birçok tablonun numeric(18,0)
türünde birincil anahtarının bulunduğu bir SQL Server veritabanını devraldım.Birincil anahtar veri türü seçme (18,0)
Birincil anahtar için bu veri türünü neden birisi seçmeli?
Birçok tablonun numeric(18,0)
türünde birincil anahtarının bulunduğu bir SQL Server veritabanını devraldım.Birincil anahtar veri türü seçme (18,0)
Birincil anahtar için bu veri türünü neden birisi seçmeli?
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.
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.
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?
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.
Bu bir tam sayı değil. Tamsayı kullanmak için neden int kullanıyorsun? – JoelFan