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

  • colacas

    colacas

    29 EKİM 2006
  • TWiT Netcast Network

    TWiT Netcast

    27 EKİM 2005
  • UCBerkeley

    UCBerkeley

    3 Mayıs 2006