Конвертировать MySQL столбцы в строки с парой

0

У меня есть таблица базы данных MySQL (например, скриншот скриншота, так как столбцов много, чтобы сделать таблицу здесь) -

Изображение 174551

Как показано на рисунке выше, в одной таблице qbank есть как вопросы, так и варианты (ответы). Раньше это казалось хорошим подходом, но теперь стало известно, что это не считается хорошей практикой. Итак, я создал две разные таблицы для вопросов и вариантов (ответов). Структура моей таблицы answers -

ID
question_id
answer
correct

Но я не могу построить один SQL-запрос, я могу преобразовать столбцы таблицы answers qbank table qbank нечто подобное:

+---------------+----------------------+
|Table_Answers  | Table_Qbank          |
+---------------+----------------------+
|ID             |  1                   |
+---------------+----------------------+
|question_id    | q_id (1)             |
+---------------+----------------------+
|answer_id      | option_01_text       |
+---------------+----------------------+
|correct        | option_01_is_correct |
+---------------+----------------------+
|ID             |  2                   |
+---------------+----------------------+
|question_id    | q_id (1)             |
+---------------+----------------------+
|answer_id      | option_02_text       |
+---------------+----------------------+
|correct        | option_02_is_correct |
+---------------+----------------------+

т.е. сначала вставьте все 4 параметра и значения, если они верны или нет для первого вопроса, затем аналогично вставьте запросы для других строк вопросов.

Я могу сделать эту работу с PHP, но для 30000 строк вопросов я пытаюсь найти способ, если любой SQL-запрос может быть настроен для выполнения этой работы с самого PHPMyAdmin.

  • 1
    Вы также можете справиться с этим в MySQL, но это действительно презентация вещь, и я бы , вероятно , обрабатывать его из PHP - скрипта.
Теги:

1 ответ

0

Шаг 1. Пересмотрите схему схемы.

Вот пример нормализованной схемы:

questions
question_id, question
          1, What is the name of the current Prime Minister of India?
          2, What it the capital of India?

answers
answer_id, question_id, answer, is_correct
      101            1  Ram              0
      102            1  Shyam            1
      103            1  Kishan           0
      104            1  Mohan            0
      105            2  Jaipur           0
      106            2  Chennai          0
      107            2  Delhi            1
      108            2  Kolkata          0

В качестве альтернативы вы можете просто сказать, что первый ответ всегда правильный, не требуя колонки is_correct или сохраняя ссылку на правильные ответы в отдельной таблице.

  • 0
    Я уже пересмотрел схему, аналогичную той, которую вы упомянули, но проблема, с которой я сталкиваюсь, заключается в том, как скопировать мои данные из строк / столбцов старой таблицы в новую таблицу ответов?
  • 0
    @ Dr.AtulTiwari Вы можете использовать серию союзов.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню