Maison >base de données >tutoriel mysql >Pourquoi mon index SQL échoue-t-il en raison de limitations de longueur de colonne clé ?

Pourquoi mon index SQL échoue-t-il en raison de limitations de longueur de colonne clé ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-22 05:32:141032parcourir

Why is my SQL Index Failing Due to Key Column Length Limitations?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn