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.
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!