Duplication détectée : échec de création de table MySQL (erreur 1022)
En essayant de créer une table à l'aide de MySQL Workbench, les utilisateurs peuvent rencontrer le redoutable erreur 1022 : "Impossible d'écrire ; clé en double dans la table." Ce problème survient malgré l'instruction SQL apparemment simple utilisée pour la création de table. En y regardant de plus près, le problème devient apparent :
Le coupable : noms de clés étrangères identiques
Le message d'erreur provient de la présence de plusieurs clés étrangères avec des noms identiques dans le même modèle de base de données. Pour comprendre ce concept, considérons l'analogie suivante :
Le problème survient lorsque deux clés étrangères différentes dans des tables différentes font référence à la même colonne de la table parent. Tout comme un employé ne peut pas travailler dans deux départements à la fois, une ligne de table enfant ne peut pas avoir plusieurs clés étrangères pointant vers différentes lignes de table parent.
Un exemple physique
Considérez le modèle de base de données suivant :
Si les deux tables contiennent des clés étrangères nommées "supplier_id" qui font référence à la table "Supplier", MySQL renverra l'erreur 1022. Pour résoudre Pour résoudre ce problème, il est essentiel d'attribuer des noms uniques aux clés étrangères.
Résoudre le conflit de noms
Pour rectifier l'erreur, suivez ces étapes :
En résolvant le conflit de noms dans les clés étrangères, vous pouvez créer avec succès la table souhaitée et éviter le message « Impossible d'écrire ; clé en double dans la table" erreur.
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!