CREATE TABLE [dbo].[Questions] (
[QuestionID] INT NOT NULL,
[Question] NCHAR (300) NOT NULL,
[Choices] NCHAR [200] NOT NULL, -- something like this
[Answer] NCHAR (200) NOT NULL, -- one of the indexes in Choices
);
我有多个选择问题,我将其存储到数据库中,我希望将所有信息组合在一个表中。 QuestionID
和Question
并不困难,但我不知道如何设置一些字符串数组来存储可能的答案(答:一,B:两,C:三,D:四)进入Choices
列并让Answer
列存储正确选择的副本或正确选择的索引(以较容易者为准)。
我快速阅读的很多回复都表明,文本文件会更容易,但是不是我想要做的事情。
这是一个个人项目(不能在任何实际生产中使用),因此无论如何都不必是安全或安全的。任何有效的黑客解决方案都是完美的。
答案 0 :(得分:2)
您应该使用单独的Answers表,如下所示:
CREATE TABLE [dbo].[Answers] (
[AnswerID] INT NOT NULL PRIMARY KEY,
[QuestionID] INT NOT NULL, -- linked to Questions.QuestionID
[Choice] NCHAR [200]
);
然后,您将问题表链接中的答案字段链接到实际答案的答案ID。
(N.B。这是不是文本文件,这是第二个链接表)
ETA
您可以将问题表更改为此
CREATE TABLE [dbo].[Questions] (
[QuestionID] INT NOT NULL,
[Question] NCHAR (300) NOT NULL,
[AnswerID] INT -- this is linked to Answers.AnswerID
);
Questions.AnswerID是Answers中具有问题正确答案的行的索引。