Допустим, у меня есть следующие таблицы:
Вопросы, варианты, ответы
Каждый вопрос имеет много вариантов (варианты имеют question_id
внешний ключ.)
Таблица ответов содержит два внешних ключа, question_id
и choice_id
, и эти ограничения запрещают ответы, которые относятся к несуществующим question
или choice
, но я хочу предотвратить неверный выбор,тоже.
Как я могу выразить ограничение (может быть, это не то слово), которое разрешает ответы только в тех случаях, когда choice_id
является допустимым выбором для данного question_id
?Например, если у меня было 2 вопроса, каждый с 2 вариантами ответа:
Я хочу разрешить ответы типа (question_id
= 1, choice_id
= 1 (или 2)) и запретить ответы типа (question_id
= 1, choice_id
= 4)потому что это неправильный выбор для вопроса.