Dépannage de l'erreur "Spécification de clé sans longueur de clé" de MySQL
Cette erreur se produit généralement lorsqu'une colonne BLOB ou TEXT est utilisée dans une définition de clé primaire ou d'index sans spécifier de longueur de clé.
Comprendre le problème
Le mécanisme d'indexation de MySQL présente des limites avec les colonnes BLOB et TEXT en raison de leur longueur variable. La base de données ne peut pas garantir l'unicité sans une longueur définie, d'où l'erreur. Une longueur fixe est nécessaire pour une vérification appropriée de l'unicité de la clé.
Solutions
Plusieurs approches peuvent résoudre ce problème :
VARCHAR(n)
, où « n » représente une limite de caractères spécifique (par exemple, VARCHAR(255)
). Cela fournit des données de longueur variable avec une longueur maximale définie, adaptées à l'indexation.Considérations importantes
VARCHAR
inférieures à 256 caractères. Le dépassement de cette limite convertit automatiquement la colonne en SMALLTEXT
, réintroduisant potentiellement le problème de longueur de clé.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!