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é » ?

Comment corriger l'erreur MySQL : « Colonne BLOB/TEXT utilisée dans la spécification de clé sans longueur de clé » ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-19 23:21:10784parcourir

How to Fix MySQL Error:

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!

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