Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Błąd pojawia się w sql podczas próby dodania wielu kluczy obcych

tutaj rozwiązałem twój problem i pracowałem dla mnie dobrze

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

najpierw zmieniłem QuestionId do primary key

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

następnie dodał indeks do QuestionId z image_question

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

a następnie pierwsza relacja dla QuestionId działa pomyślnie

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

następnie zmienił typ danych SessionId obu tabel do int

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

następnie dodano indeks do SessionId z image_question

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

a oto twoja druga relacja dla SessionId mam nadzieję, że u Ciebie też zadziała




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dynamiczne nazwy tabel w funkcji procedury składowanej

  2. MySQL:Nie można utworzyć/zapisać do pliku '/tmp/#sql_3c6_0.MYI' (Errcode:2) - Co to w ogóle oznacza?

  3. SQL Zastąp wiele zmiennych z innej tabeli w wyniku zapytania

  4. Pisanie podzapytania przy użyciu Zend DB

  5. MySQL5.6 utknął w procesie próbującym uruchomić usługę