SORU
19 Mayıs 2010, ÇARŞAMBA


bir dizin anahtar sütunu için geçersiz bir tür.

Bir hata var

Column 'key' in table 'misc_info' is of a type that is invalid for use as a key column in an index.

burada önemli bir nvarchar(max). Hızlı bir google found this. Bunu ancak bir çözüm olduğunu açıklaması yok. Nasıl anahtar ve değer hem de dizeleri var ve anlaşılan anahtar benzersiz olmalıdır nerede Sözlük gibi bir şey oluştururum ve tek. Sql ifadem oldu

create table [misc_info] (
[id] INTEGER PRIMARY KEY IDENTITY NOT NULL,
[key] nvarchar(max) UNIQUE NOT NULL,
[value] nvarchar(max) NOT NULL);

CEVAP
19 Mayıs 2010, ÇARŞAMBA


Benzersiz kısıtlama satır başına 8000 bayt üzerinde olamaz ve sadece anahtarlar için en güvenli, en büyük boyutu, yani ilk 900 bayt bile kullanır:

create table [misc_info]
( 
    [id] INTEGER PRIMARY KEY IDENTITY NOT NULL, 
    [key] nvarchar(450) UNIQUE NOT NULL, 
    [value] nvarchar(max) NOT NULL
)

yani anahtarı üzerinde 450 karakter olamaz. Eğer 900 karakter artırabilir olan sütun yerine nvarchar (eğer birden fazla kod sayfası karakter saklamak için ihtiyacınız varsa ... gibi) daha sonra geçiş yapabilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bigapplemagic

    Bigapplemagi

    22 EYLÜL 2011
  • Rootjunky.com

    Rootjunky.co

    22 EKİM 2011
  • TurkishRoyal

    TurkishRoyal

    16 Ocak 2007