Mysql
 sql >> Base de données >  >> RDS >> Mysql

Une erreur apparaît dans sql lors de la tentative d'ajout de plusieurs clés étrangères

ici, j'ai résolu votre problème et j'ai bien fonctionné pour moi

ALTER TABLE `question`     CHANGE `QuestionId` `QuestionId` INT(11) NOT NULL,    ADD PRIMARY KEY(`QuestionId`);

j'ai d'abord changé le QuestionId à primary key

ALTER TABLE `image_question` ADD INDEX `questionId` (`QuestionId`);

puis ajouté l'index sur QuestionId de image_question

ALTER TABLE  `question` ADD CONSTRAINT `FK_question` FOREIGN KEY (`QuestionId`)
REFERENCES `image_question` (`QuestionId`) ON DELETE NO ACTION ;

puis première relation pour QuestionId fonctionne avec succès

ALTER TABLE `question`     CHANGE `SessionId` `SessionId` INT(11) NOT NULL;
ALTER TABLE `image_question`     CHANGE `SessionId` `SessionId` INT(11) NOT NULL;

puis changé le type de données de SessionId des deux tables en int

ALTER TABLE `image_question` ADD INDEX `NewIndex1` (`SessionId`);

puis index ajouté sur SessionId de image_question

ALTER TABLE `image_question` ADD CONSTRAINT `FK_image_question` FOREIGN KEY (`SessionId`) REFERENCES `question` (`SessionId`) ON DELETE NO ACTION ;

et voici votre deuxième relation pour SessionId j'espère que ça marche bien pour toi aussi