Erreur MySQL 1022 : identifier la duplication
Rencontrer l'erreur MySQL 1022 lors de la création d'une table peut être déroutant, surtout si l'instruction SQL semble valide . Examinons le problème et identifions la cause sous-jacente.
Dans le code SQL fourni, il est mentionné qu'il n'y a qu'une seule clé définie pour la table. Cependant, le problème semble résider dans la définition de la clé étrangère. MySQL renvoie l'erreur 1022 lors de la tentative d'insertion d'une clé en double lors de la création de la table.
Le problème vient du fait que le nom de la clé étrangère (error_id) est le même que le nom d'une autre clé étrangère ailleurs dans le modèle. Pour comprendre cela, considérons le scénario suivant :
Maintenant, si les deux clés étrangères ont le même nom ("fournisseur"), MySQL interprète cela comme une "collision" en langue étrangère noms de clés. Pour résoudre le problème, chaque clé étrangère doit avoir un nom unique dans l'ensemble du schéma.
Par exemple, vous pouvez utiliser différents noms comme :
En différenciant les noms de clés étrangères, MySQL peut les distinguer et gérer correctement l'intégrité référentielle lors de la création des tables .
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!