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

  • EmmightySofia

    EmmightySofi

    25 EYLÜL 2011
  • The Bad Tutorials

    The Bad Tuto

    6 EKİM 2009
  • William Hyde

    William Hyde

    23 HAZİRAN 2008