Maison  >  Article  >  base de données  >  Quelle est la raison de l'erreur lors de l'ajout de clés étrangères à MySQL ?

Quelle est la raison de l'erreur lors de l'ajout de clés étrangères à MySQL ?

王林
王林original
2020-10-16 14:47:374592parcourir

Les raisons de l'erreur d'ajout de clés étrangères à mysql : 1. Le champ de la clé étrangère ne correspond pas au type du champ associé 2. Le nom de la clé étrangère est répété ; n'est pas indexé ; 4. La clé étrangère a une valeur par défaut ;5.

Quelle est la raison de l'erreur lors de l'ajout de clés étrangères à MySQL ?

Analyse des causes :

(Tutoriel recommandé : Tutoriel vidéo MySQL)

Situation de premier type : Le type du champ de clé étrangère ne correspond pas au type du champ associé (y compris inadéquation dans le format d'encodage)

Deuxième cas : Le nom de la clé étrangère est une valeur de clé existante, et le nom doit être unique

La troisième situation : la création de clé étrangère provoquée par le moteur mysql ne peut pas être enregistrée ou ne peut pas fonctionner. Le moteur général par défaut de mysql est myisam, et myisam ne peut pas créer de clés étrangères.

Cas 4 : La clé étrangère que vous essayez de créer n'est pas indexée, ou n'est pas une clé primaire et si ce n'est pas une clé primaire, vous devez créer un index pour elle.

Cinquième situation : l'action de la clé étrangère est définie sur on delete set null ou on update set null, mais le champ de la table associée est défini sur no null, provoquant un conflit.

Sixième cas : Il existe des différences entre la clé primaire 1, la clé primaire 2 et la clé primaire 3 dans le tableau de clé primaire défini par Navicat. La clé primaire 1 ne peut pas être mise à jour en cascade (supprimée) (CASCADE)

Septième situation : Le conflit causé par l'existence d'une valeur par défaut dans la clé étrangère

La huitième situation : La situation causée par l'absence d'index pour la valeur de la clé mixte, vous devez demander une autre indexez-le

La neuvième situation Situation : lors de la création d'une clé étrangère dans une instruction SQL, créez ou modifiez une erreur de syntaxe

Recommandations associées : Tutoriel mysql

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