Maison > base de données > tutoriel mysql > Pourquoi mon index unique échoue-t-il avec « Type de colonne de clé invalide » ?

Pourquoi mon index unique échoue-t-il avec « Type de colonne de clé invalide » ?

DDD
Libérer: 2024-12-27 02:25:13
original
251 Les gens l'ont consulté

Why is my Unique Index Failing with

Correction de l'erreur de base de données : type de colonne de clé non valide pour l'index

Lors de la création d'un index unique sur une table, vous pouvez rencontrer l'erreur "Colonne '[clé]' dans la table '[table]' est d'un type qui n'est pas valide pour être utilisée comme colonne clé dans un index." Cette erreur se produit généralement lorsque le type de données de la colonne spécifiée pour l'index est trop grand.

Résolution du problème

La cause typique de cette erreur est une clé d'index dont la longueur maximale dépasse la limite autorisée. Dans Microsoft SQL Server, la longueur maximale d'une clé d'index est de 900 octets.

Pour résoudre ce problème, envisagez de réduire la longueur maximale de la colonne de clé. Dans votre cas, la colonne clé est définie comme nvarchar(max), ce qui permet une longueur illimitée. Pour les clés d'index, il est conseillé d'utiliser un type de données limité tel que nvarchar(450), qui garantit que la longueur de la clé d'index est comprise dans les limites autorisées.

Voici une définition de table mise à jour avec la colonne clé limitée à 450. caractères :

CREATE TABLE [misc_info] (
    [id] INTEGER PRIMARY KEY IDENTITY NOT NULL, 
    [key] NVARCHAR(450) UNIQUE NOT NULL, 
    [value] NVARCHAR(MAX) NOT NULL
);
Copier après la connexion

En effectuant cet ajustement, vous vous assurez que la colonne clé répond aux exigences de taille pour une clé d'index, résolution de l'erreur.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal