Maison > Article > base de données > Pourquoi est-ce que j'obtiens le code d'erreur MySQL n° 1089 : clé de préfixe incorrecte ?
Code d'erreur MySQL n° 1089 : clé de préfixe incorrecte
Lorsque vous rencontrez l'énigmatique code d'erreur n° 1089 de MySQL, on peut être perplexe quant à sa signification. Cette erreur se produit lorsqu'une clé de préfixe inappropriée est définie, en particulier lorsque vous tentez d'utiliser un préfixe sur un type de données autre qu'une chaîne ou lorsque vous dépassez la limite de longueur définie pour la partie clé.
Dans votre cas spécifique, le problème Une partie de la requête semble être :
PRIMARY KEY (`movie_id`(3))
En spécifiant (3) à côté de movie_id dans la définition de la clé primaire, vous configurez par inadvertance une clé de sous-partie sur les 3 premiers octets de la colonne movie_id. Cette approche n'est réalisable que pour les types de données chaîne, pas pour les entiers comme movie_id.
Pour résoudre ce problème et éliminer l'erreur, vous devez modifier la définition de clé primaire comme suit :
PRIMARY KEY (`movie_id`)
Par en omettant le suffixe (3), MySQL créera une clé primaire sur l'ensemble du champ movie_id sans aucune restriction de longueur. C'est l'approche appropriée pour un type de données entier comme movie_id.
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!