sql >> Databasteknik >  >> RDS >> Mysql

Fel visas i sql när du försöker lägga till flera främmande nycklar

här har jag löst ditt problem och fungerat bra för mig

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

först har jag ändrat QuestionId till primary key

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

lade sedan till indexet på QuestionId av image_question

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

och sedan första relationen för QuestionId fungerar framgångsrikt

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

ändrade sedan datatypen för SessionId av båda tabellerna till int

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

lade sedan till index på SessionId av image_question

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

och här är din andra relation för SessionId hoppas det fungerar bra för dig också




  1. Hur man ändrar text till gemener i SQL

  2. mysql, iterera genom kolumnnamn

  3. Styra replikeringsfel för MySQL och MariaDB med skript före eller efter fel

  4. Få alla objekt utan loop i OOP MySQLi