Ошибка появляется в SQL при попытке добавить несколько внешних ключей
Я пытаюсь создать индекс и несколько внешних ключей в MySQL, но когда я включаю код ниже:
CREATE INDEX par_ind on Image_Question (SessionId,QuestionId);
ALTER TABLE Image_Question ADD CONSTRAINT FK_CONSTRAINT_NAME
FOREIGN KEY (SessionId,QuestionId)
REFERENCES Question(SessionId,QuestionId)
ON DELETE CASCADE;
Индекс создания работал нормально, но он не позволяет мне изменять таблицу и добавлять внешние ключи. Это я дал мне сообщение об ошибке:
#1452 - Cannot add or update a child row: a foreign key constraint fails (`mobile_app`.<result 2 when explaining filename '#sql-4517_14f1a'>, CONSTRAINT `FK_CONSTRAINT_NAME` FOREIGN KEY (`SessionId`, `QuestionId`) REFERENCES `Question` (`SessionId`, `QuestionId`) ON)
Что означает эта ошибка и как ее устранить?
Ниже таблица Image_Question:
CREATE TABLE Image_Question (ImageQuestionId INT NOT NULL,
ImageId INT NOT NULL,
SessionId CHAR(3) NOT NULL,
QuestionId INT NOT NULL,
PRIMARY KEY (ImageQuestionId)
) ENGINE=INNODB;
Ниже приведена таблица вопросов:
CREATE TABLE Question (QuestionId INT NOT NULL,
SessionId CHAR(3) NOT NULL,
Question CHAR(10) NOT NULL ) ENGINE=INNODB;