Maison > base de données > tutoriel mysql > Pourquoi ne puis-je pas créer ma table MySQL en raison de noms de contraintes en double ?

Pourquoi ne puis-je pas créer ma table MySQL en raison de noms de contraintes en double ?

Patricia Arquette
Libérer: 2024-11-26 05:15:24
original
518 Les gens l'ont consulté

Why Can't I Create My MySQL Table Due to Duplicate Constraint Names?

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;
Copier après la connexion

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;
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal