В настоящее время я пытаюсь настроить базу данных, в которой есть таблица «вопрос» и «ответ».
Они выглядят так:
ответ:
answer_id : PK int
answer_text : varchar
вопрос:
question_id : PK int
question_text: varchar
correct_answer : FK answer.answer_id
incorrect_answer1 : FK answer.answer_id
incorrect_answer2 : FK answer.answer_id
incorrect_answer3 : FK answer.answer_id
моя проблема в том, что я не могу ссылаться на один и тот же внешний ключ (answer_id) для более чем одного столбца в моей таблице вопросов, любая помощь будет оценена.
Ниже приведена ошибка:
ERROR 1215: Cannot add foreign key constraint
SQL Statement:
ALTER TABLE `hons_proj`.`question`
ADD CONSTRAINT `answers fk`
FOREIGN KEY (`correct_answer` , `incorrect_answer1` , `incorrect_answer2` , `incorrect_answer3`)
REFERENCES `hons_proj`.`answer` (`answer_id` , `answer_id` , `answer_id` , `answer_id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION
и использованный оператор CREATE TABLE:
'question', 'CREATE TABLE `question` (\n `question_id` int(11) NOT NULL AUTO_INCREMENT,\n `category_id` int(11) NOT NULL,\n `correct_answer` int(11) NOT NULL,\n `incorrect_answer1` int(11) NOT NULL,\n `incorrect_answer2` int(11) NOT NULL,\n `incorrect_answer3` int(11) NOT NULL,\n `is_active` tinyint(4) NOT NULL,\n `question_text` varchar(64) NOT NULL,\n PRIMARY KEY (`question_id`),\n UNIQUE KEY `question_text_UNIQUE` (`question_text`),\n KEY `category fk_idx` (`category_id`),\n KEY `answers fk_idx` (`correct_answer`,`incorrect_answer1`,`incorrect_answer2`,`incorrect_answer3`),\n CONSTRAINT `category fk` FOREIGN KEY (`category_id`) REFERENCES `category` (`category_id`) ON DELETE NO ACTION ON UPDATE NO ACTION\n) ENGINE=InnoDB DEFAULT CHARSET=latin1'
Пожалуйста, игнорируйте \ n's.