Maison >base de données >tutoriel mysql >Pourquoi ne puis-je pas créer un index unique sur ma colonne nvarchar(max) dans SQL Server ?
Type de colonne de clé d'index non valide : "est d'un type qui n'est pas valide pour être utilisé comme colonne de clé dans un index"
Dans le Dans le contexte des systèmes de gestion de bases de données relationnelles, un message d'erreur indiquant "La colonne 'clé' dans la table 'misc_info' est d'un type qui n'est pas valide pour être utilisée comme colonne clé dans un index" apparaît lors de la tentative de création d'un index unique sur une colonne d'un type de données spécifique.
Contexte du problème :
Le message d'erreur fourni souligne qu'une tentative de création d'un index unique sur une colonne nommée "key" dans la table "misc_info" a échoué. Le type de données de la colonne, nvarchar(max), est incompatible avec l'utilisation comme clé d'index, ce qui entraîne l'erreur.
Solution :
Les index uniques imposent des limitations sur la taille des valeurs qu'ils peuvent stocker sous forme de clés. Pour le type de données nvarchar, qui peut contenir une chaîne de longueur variable, la longueur maximale autorisée pour les clés d'index est de 450 caractères. Cette limitation constitue une protection contre le dépassement de la contrainte de taille de ligne de 8 000 octets imposée par SQL Server.
Pour résoudre l'erreur, réduisez la longueur maximale de la colonne "clé" à 450 caractères. Ceci peut être réalisé en modifiant la définition de la table comme suit :
ALTER TABLE misc_info ALTER COLUMN key nvarchar(450) UNIQUE NOT NULL;
Alternativement, si l'exigence est de stocker des chaînes de plus de 450 caractères, envisagez d'utiliser le type de données varchar au lieu de nvarchar. Varchar a une limite de longueur maximale de 8 000 caractères, offrant plus de flexibilité pour stocker des clés plus longues tout en conservant la contrainte d'index unique.
ALTER TABLE misc_info ALTER COLUMN key varchar(8000) UNIQUE NOT NULL;
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!