Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

ist von einem Typ, der für die Verwendung als Schlüsselspalte in einem Index ungültig ist

Eine Unique-Einschränkung kann nicht größer als 8000 Bytes pro Zeile sein und wird selbst dann nur die ersten 900 Bytes verwenden, sodass die sicherste maximale Größe für Ihre Schlüssel wäre:

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

D.h. der Schlüssel darf nicht länger als 450 Zeichen sein. Wenn Sie zu varchar wechseln können statt nvarchar (z. B. wenn Sie keine Zeichen von mehr als einer Codepage speichern müssen), kann dies auf 900 Zeichen ansteigen.