Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Beim Versuch, mehrere Fremdschlüssel hinzuzufügen, wird in SQL ein Fehler angezeigt

Hier habe ich Ihr Problem gelöst und für mich gut funktioniert

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

zuerst habe ich die QuestionId geändert zum primary key

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

fügte dann den Index zu QuestionId hinzu von image_question

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

und dann erste Beziehung für QuestionId funktioniert erfolgreich

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

dann den Datentyp von SessionId geändert beider Tabellen nach int

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

dann hinzugefügter Index für SessionId von image_question

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

und hier ist Ihre zweite Beziehung für SessionId hoffe es funktioniert auch bei dir