Erreur : impossible de créer une table en raison d'un nom de contrainte en double
Lors de l'ingénierie avancée de votre base de données MySQL dans le serveur WAMP, vous avez rencontré l'erreur "Erreur 1005 : Impossible de créer la table 'aquaticstar.link' (numéro d'erreur : 121)." Cette erreur indique qu'une table portant le nom spécifié existe déjà dans la base de données.
Après une enquête plus approfondie, il a été découvert que le problème était lié à des noms de contraintes en double. Plus précisément, la table Link contient des contraintes de clé étrangère nommées id et lesson_id, qui sont également présentes dans d'autres tables. Ce conflit de noms empêche la base de données de créer la table Link.
Pour résoudre ce problème, vous devez renommer les contraintes de clé étrangère dans la table Link en noms uniques. Ceci peut être réalisé en modifiant les lignes suivantes dans le script exécuté :
CONSTRAINT `id` FOREIGN KEY (`id` ) REFERENCES `Students` (`id` ) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `lesson_id` FOREIGN KEY (`lesson_id` ) REFERENCES `Schedule` (`lesson_id` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB;
Par exemple, vous pouvez renommer la contrainte id en student_id et la contrainte lesson_id en planning_lesson_id.
CONSTRAINT `student_id` FOREIGN KEY (`id` ) REFERENCES `Students` (`id` ) ON DELETE NO ACTION ON UPDATE NO ACTION, CONSTRAINT `schedule_lesson_id` FOREIGN KEY (`lesson_id` ) REFERENCES `Schedule` (`lesson_id` ) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB;
Une fois que vous avez renommé les contraintes, réexécutez le script pour créer la table Link avec succès.
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!