Maison >base de données >tutoriel mysql >Pourquoi est-ce que j'obtiens le code d'erreur MySQL n° 1089 : clé de préfixe incorrecte ?

Pourquoi est-ce que j'obtiens le code d'erreur MySQL n° 1089 : clé de préfixe incorrecte ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-30 17:00:03303parcourir

Why Am I Getting MySQL Error Code #1089: Incorrect Prefix Key?

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!

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