Как правильно хранить, увеличивать и повторно использовать индекс

Я нахожусь в процессе создания моего первого сделанного на заказ приложения PHP / MySQL. Это своего рода приложение для тестирования транспортных средств.

Сам опрос строится с помощью запросов к базе данных, где я хранил вопросы, и с помощью цикла они выводятся на страницу, каждый из которых имеет уникальный идентификатор и имя.

Пока все работает. Я могу успешно отправить результаты, получить доступ к массиву $ _POST и увидеть ответы, хранящиеся в правильных ключах.

Сейчас я нахожусь на этапе, когда я хочу сохранить результаты.

Я намерен использовать таблицу для записи результатов, используя одну строку для ответа. Я планирую использовать следующие столбцы: survey_id, question_id (ключ из массива), question_answer.

У меня вопрос, как правильно хранить и увеличивать сам идентификатор опроса? Если бы я записывал опрос таким образом, чтобы одна строка содержала все результаты для одного опроса, я мог бы автоматически увеличивать поле survey_id, но когда я разрабатывал приложение, я не думал, что это будет самый надежный способ хранить результаты. Каждое обследование будет превышать 100 строк в каждом, и любые изменения в структуре опроса вниз по линии было бы сложно реализовать (я подозреваю).

Сначала я хотел создать отдельную таблицу для записи и увеличения идентификаторов опросов, а затем запросить их, чтобы заполнить опроса survey_id в таблице результатов.

Я хотел бы услышать лучшую практику для достижения этой цели.

1

Решение

Лучший способ сделать это — иметь три таблицы:

  • Обзоры
  • Вопросы
  • ответы

Surveys вероятно, будет иметь идентификатор опроса, пользователь, который создал опрос, и так далее. Questions будет иметь идентификатор вопроса, идентификатор опроса, для которого предназначен вопрос, и что задает вопрос. И, наконец, Answers будет иметь ответы на вопросы, скорее всего, с идентификатором ответа, идентификатором вопроса, пользователем, который ответил на него и их ответ.

По сути, ваша оригинальная идея

создайте отдельную таблицу для записи и приращения идентификаторов опроса, а затем запросите ее, чтобы заполнить опроса survey_id в таблице результатов.

является правильным в этом случае.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]