Maison >base de données >tutoriel mysql >Pourquoi mon index SQL échoue-t-il en raison de limitations de longueur de colonne clé ?
Limitation de la longueur de l'index de la colonne clé dans SQL
Le message d'erreur "La colonne 'clé' dans la table 'misc_info' est d'un type qui est invalide pour une utilisation comme colonne clé dans un index" indique que la longueur de la colonne clé dépasse le maximum autorisé pour un index.
La longueur maximale d'une colonne d'index dépend du type de données utilisé. Pour le type de données nvarchar, la longueur maximale est de 450 caractères. En effet, une contrainte unique sur les colonnes nvarchar ne peut pas dépasser 8 000 octets par ligne et seuls les 900 premiers octets sont utilisés.
Pour résoudre ce problème, réduisez la longueur de la colonne clé à un maximum de 450. personnages. L'instruction SQL modifiée suivante crée une table avec une colonne clé de nvarchar(450) :
create table [misc_info] ( [id] INTEGER PRIMARY KEY IDENTITY NOT NULL, [key] nvarchar(450) UNIQUE NOT NULL, [value] nvarchar(max) NOT NULL );
Si possible, envisagez de passer à varchar au lieu de nvarchar, ce qui peut augmenter la longueur maximale à 900 caractères.
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!