Mysql
 sql >> база данни >  >> RDS >> Mysql

Грешка се появява в sql при опит за добавяне на няколко външни ключа

тук реших проблема ви и ми свърши работа

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

първо промених QuestionId към primary key

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

след това добави индекса към QuestionId на image_question

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

и след това първо отношение за QuestionId работи успешно

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

след това промени типа данни на SessionId от двете таблици към int

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

след това добави индекс към SessionId на image_question

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

и ето втората ви връзка за SessionId надявам се, че работи добре и за вас




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Съхранение на много големи цели числа в MySQL

  2. Как да покажете редовете, които не присъстват в друга таблица в MySQL

  3. вземете последния въведен идентификатор в sql сървър 2008

  4. Ограничения за съхранение на MySQL потребителски дефинирани променливи

  5. Проблеми при инсталиране на MYSQL