gpt4 book ai didi

mysql - 如何在又高又窄的MySQL表中存储答案

转载 作者:行者123 更新时间:2023-11-29 16:13:24 25 4
gpt4 key购买 nike

我正在设计一个数据库来存储问题和答案。我计划有 5 个表格:测验、问题、userAnswer 和 multipleChoice

测验:

quizID          (int)(primary key) Auto Increment
quizName (varchar)

问题:

questionID      (int)(primary key) Auto Increment
quizID (Foreign Key)
question (varchar)
questionType (enum) textbox, multiple choice, int, date, decimal, email, ...

用户:

userID          (int)(primary key) Auto Increment
firstname (varchar)
surname (varchar)
...
...

用户答案:

questionID    (Foreign Key)
userID (Foreign Key)
answerText
answerDec
answerDate
answerInt

PRIMARY KEY(questionID, userID)

多项选择

choiceID      (int)(primary key) Auto Increment
questionID (Foreign Key)
choiceText (varchar)

我的问题出在答案表上,有些答案是自由格式文本,有些是小数,有些是整数(外键)

我该如何处理这个问题?我是否有 4 列,每种类型 1 列?如果是这样,在检索答案时如何有效地选择 3 个中的正确一个,我想尽可能多地在 SQL 中完成“繁重的工作”,而不必使用 PHP 生成动态查询。

最佳答案

如果您不需要搜索答案,那么我建议将它们存储在 JSON 对象或类似对象中,而不必费心使用单独的表。

quiz | question   | answers     | multipleChoice
---- | ---------- | ----------- | --------------
1 | "Country?" | [ | true
| | "France", |
| | "Germany" |
| | ] |

关于mysql - 如何在又高又窄的MySQL表中存储答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55049031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com