sql >> Database >  >> RDS >> Mysql

Er verschijnt een fout in sql bij het toevoegen van meerdere externe sleutels

hier heb ik je probleem opgelost en werkte prima voor mij

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

eerst heb ik de QuestionId . gewijzigd naar primary key

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

vervolgens de index toegevoegd op QuestionId van image_question

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

en dan de eerste relatie voor QuestionId werkt succesvol

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

veranderde vervolgens het gegevenstype van SessionId van beide tabellen naar int

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

vervolgens index toegevoegd op SessionId van image_question

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

en hier is je tweede relatie voor SessionId hoop dat het voor jou ook goed werkt




  1. Hoe goto-label te gebruiken in de MySQL-opgeslagen functie?

  2. Snelle MySQL-tip:de DAYOFWEEK-functie gebruiken

  3. IF Voorwaarde Query uitvoeren, anders andere query uitvoeren

  4. Hoe de Ln()-functie werkt in PostgreSQL