gpt4 book ai didi

mysql - 预设/自定义选择问题的数据库设计

转载 作者:可可西里 更新时间:2023-11-01 07:09:10 33 4
gpt4 key购买 nike

所以我有一个 HTML 表单,用户可以在其中通过选中三个预设答案之一或编写自己的自定义答案来回答单选题。

虽然这显然是一个多对多关系,但我仍然找不到合适的方法来设计数据库表以处理这两种类型(TEXT 和 BOOLEAN)。我当前的快速而肮脏的解决方案是在联结表中对特定的 choice_id 进行硬编码以获取自定义答案。我正在为此寻找更好的模式。

最佳答案

有如下表格:

表 1:问题

  QuestionID (ID)
QuestionText (Text)

表 2:问题响应

  QuestionResponseId (ID)
QuestionResponseTypeId (References Question Response Type)
QuestionResponseDetailsId (References Question Response Details) - This should be used for text only values (Custom Answers)
QuestionResponse (Boolean)

表 3:问题响应类型

  QuestionResponseTypeId (Id)
Description (Text) -- Dictates if the answer is a boolean or a text field

表 4:问题响应详细信息

   QuestionResponseDetailsId (Id)
Description (Text) - Holds the text answer to the questions

填充下表后,您将拥有一个包含问题的结构,即问题的回答(文本或 bool 值)。

然后您可以对此进行过滤以仅查看基于文本的答案,例如:

SELECT * FROM QuestionResponse
INNER JOIN QuestionResponseDetails ON QuestionResponse.QuestionResponseDetailsId = QuestionResponseDetails.QuestionResponseDetailsId
WHERE QuestionResponse.QuestionResponseTypeId = 1

其中 1 是基于文本的答案,2 是基于 bool 值的答案(来自问题响应类型表)

关于mysql - 预设/自定义选择问题的数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12688357/

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