Maison >base de données >tutoriel mysql >Comment corriger l'erreur MySQL : « Colonne BLOB/TEXT utilisée dans la spécification de clé sans longueur de clé » ?
Dépannage de l'erreur MySQL : colonne BLOB/TEXT dans la spécification de clé
Ce guide traite de l'erreur MySQL « Colonne BLOB/TEXT 'message_id' utilisée dans la spécification de clé sans longueur de clé. » Cette erreur se produit lorsqu'une colonne BLOB ou TEXT est utilisée dans une clé primaire ou un index sans spécifier de longueur.
Le problème vient de la nature de longueur variable des types de données BLOB et TEXT. MySQL ne peut pas garantir l'unicité sans une limite de taille définie. Par conséquent, lors de l'indexation ou de l'utilisation de ces types comme clés primaires, une longueur de clé doit être spécifiée.
Cependant, MySQL n'autorise pas les limitations de longueur de clé sur les champs TEXT ou BLOB. La solution consiste soit à supprimer la colonne BLOB ou TEXT de l'index ou de la clé primaire, soit à sélectionner une autre colonne comme clé primaire.
Si vous avez l'intention de restreindre la taille de la colonne TEXT ou BLOB, envisagez d'utiliser VARCHAR
à la place. Spécifiez la longueur maximale entre parenthèses ; par exemple, VARCHAR(255)
limite la colonne à 255 caractères.
Même sans colonnes BLOB ou TEXT, l'erreur peut persister en raison de problèmes avec la longueur des colonnes VARCHAR
. VARCHAR
a une longueur maximale de 255 caractères. Si vous avez spécifié une longueur trop grande (comme VARCHAR(512)
), MySQL peut la convertir automatiquement en SMALLTEXT
, provoquant l'erreur. Assurez-vous que la taille de votre champ VARCHAR
est inférieure à 256 caractères.
Pour des informations plus détaillées sur l'erreur MySQL 1170, notamment concernant les types TEXT/BLOB dans les clés et les clés primaires, consultez la documentation référencée.
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!