我想在mysql中创建一个表,其中每行的第一列包含一个问题,下一列包含答案。因为每行可能包含不同数量的答案,因此它们可能在每行的列中不匹配。所以我创建了具有所需列数的n个不同的表。所以我想知道天气是处理问题的好方法。 谢谢
答案 0 :(得分:1)
这不是一个好主意,标准方法如下:
问题是具有ID(auto increment
,PK
,INT
)的最小属性以及单词(text
或varchar
)中的问题的实体
答案是一个具有属性ID且以字符串形式回答的实体。
一个问题可以有很多答案,一个答案也可以是不同问题的答案(=许多问题可以有很多答案(mtm
或m2m
关系))(如果没有,2个表会够了,但我会以这种方式减少冗余)。这是你的关系。在关系表中,使用PK超过2列question_id
和answer_id
。
您需要3个表格,question
,answer
和question_has_answer
。
google的有用关键字:"规范化","实体关系"