Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Erro aparece no sql ao tentar adicionar várias chaves estrangeiras


aqui eu resolvi seu problema e funcionou bem para mim
ALTER TABLE `question`     CHANGE `QuestionId` `QuestionId` INT(11) NOT NULL,    ADD PRIMARY KEY(`QuestionId`);

primeiro eu mudei o QuestionId para primary key
ALTER TABLE `image_question` ADD INDEX `questionId` (`QuestionId`);

em seguida, adicionei o índice em QuestionId de image_question
ALTER TABLE  `question` ADD CONSTRAINT `FK_question` FOREIGN KEY (`QuestionId`)
REFERENCES `image_question` (`QuestionId`) ON DELETE NO ACTION ;

e, em seguida, o primeiro relacionamento para QuestionId funciona com sucesso
ALTER TABLE `question`     CHANGE `SessionId` `SessionId` INT(11) NOT NULL;
ALTER TABLE `image_question`     CHANGE `SessionId` `SessionId` INT(11) NOT NULL;

em seguida, alterou o tipo de dados de SessionId de ambas as tabelas para int
ALTER TABLE `image_question` ADD INDEX `NewIndex1` (`SessionId`);

em seguida, adicionou o índice em SessionId de image_question
ALTER TABLE `image_question` ADD CONSTRAINT `FK_image_question` FOREIGN KEY (`SessionId`) REFERENCES `question` (`SessionId`) ON DELETE NO ACTION ;

e aqui está seu segundo relacionamento para SessionId espero que funcione bem para você também