Требуется помощь MySQL - Добавить вопросы / ответы в наименьшем количестве возможных запросов? - PullRequest
2 голосов
/ 28 августа 2011

Я пишу очень простой PHP-скрипт для опросов. В настоящее время он может обрабатывать только один опрос за один раз. Схема базы данных выглядит следующим образом:

table 1: questions
    primary key: question_id
    second field: question
table 2: answers
    primary key: answer_id
    second field: answer
    foreign key: question_id

В этом скрипте есть раздел администратора, который позволяет мне добавлять один вопрос за раз. Я также сделал возможным добавлять переменное количество ответов на каждый вопрос. У меня проблемы с двумя вещами:

  1. Как я могу убедиться, что переменное число добавляемых ответов имеет внешние ключи, которые ссылаются на правильный вопрос? Нужно ли INSERT вопрос, затем SELECT, чтобы найти его идентификатор, затем INSERT ответы? Я чувствую, что должен быть лучший способ сделать это.
  2. Какой лучший способ выполнить то, что я пытаюсь сделать? Является ли моя схема базы данных мусором? Нужно ли мне кучу запросов, чтобы получить то, что я хочу сделать? Я не владею SQL: /

Спасибо!

Gerard

Ответы [ 2 ]

1 голос
/ 28 августа 2011

ваша схема базы данных хороша и три запроса в порядке. Хотя вы можете использовать функцию API вместо второго запроса, но это не имеет никакого значения. Обратите внимание, что вы не должны выбирать свой вопрос в любом случае, но специальная функция mysql называется LAST_INSERT_ID ();

единственное, что вы забыли, - это поле для отметки правильных точек ответа / ответа или чего-либо подобного

0 голосов
/ 28 августа 2011

Сначала нужно вставить вопрос.Затем вы можете использовать $questionId = mysql_insert_id();, это даст вам сгенерированный идентификатор последней вставки.Теперь вы можете использовать это, чтобы правильно вставить ваши ответы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...