SQL-检查多项选择题的正确答案
我正在做一个多选题表格。投稿人将写一个问题,其中包含3到4个可能的答案。总是只有一个正确答案。检查所选答案是否正确的最有效方法是什么?我还可以更改存储在“正确答案”列中的值SQL-检查多项选择题的正确答案,sql,Sql,我正在做一个多选题表格。投稿人将写一个问题,其中包含3到4个可能的答案。总是只有一个正确答案。检查所选答案是否正确的最有效方法是什么?我还可以更改存储在“正确答案”列中的值 但是,如果您没有使用无状态应用程序(如网页),则最好将问题加载一次并在程序代码中检查答案。您是否将提交的答案存储在某个位置?你需要比较一下。不,我没有。我将有多个用户。你认为我应该为此创建一个新表吗?实际上,我正在考虑将问题表拆分为两个较小的表:问题和答案。谢谢,我实际上在后端使用了flask,我更新了我的问题!谢谢 CR
但是,如果您没有使用无状态应用程序(如网页),则最好将问题加载一次并在程序代码中检查答案。您是否将提交的答案存储在某个位置?你需要比较一下。不,我没有。我将有多个用户。你认为我应该为此创建一个新表吗?实际上,我正在考虑将
问题
表拆分为两个较小的表:问题
和答案
。谢谢,我实际上在后端使用了flask,我更新了我的问题!谢谢
CREATE TABLE `questions` (
`question_id` int NOT NULL AUTO_INCREMENT,
`contributor_id` int NOT NULL,
`question_text` varchar(1000) NOT NULL,
`answer_a` varchar(200) NOT NULL,
`answer_b` varchar(200) NOT NULL,
`answer_c` varchar(200) NOT NULL,
`answer_d` varchar(200) DEFAULT NULL,
`correct_answer` varchar(20) NOT NULL,
PRIMARY KEY (`question_id`)
)
def add_contributor():
name = request.form.get('contrib_name')
question = request.form.get('question')
answer_a = request.form.get('answer_a')
answer_b = request.form.get('answer_b')
answer_c = request.form.get('answer_c')
correct_answer = request.form.get('correct_answer')
sql_1 = "INSERT INTO contributors (name) VALUES (%s)"
sql_2 = "SELECT contributor_id from contributors WHERE name=(%s)"
sql_3 = "INSERT INTO questions (contributor_id, question_text, answer_a, answer_b, answer_c, correct_answer) VALUES (%s, %s, %s, %s, %s, %s)"
cursor = conn.cursor()
cursor.execute(sql_1, name)
cursor.fetchall()
conn.commit()
cursor_2 = conn.cursor()
cursor_2.execute(sql_2, name)
contrib_val = cursor_2.fetchall()
contrib_id = contrib_val[0][0]
cursor_3 = conn.cursor()
cursor_3.execute(sql_3, (contrib_id,question, answer_a, answer_b, answer_c, correct_answer))
cursor_3.fetchall()
conn.commit()
SELECT CASE WHEN EXISTS (
SELECT *
FROM questions
WHERE question_id = yourQuestionId
AND correct_answer = yourAnswer)
THEN CAST(1 AS BIT)
ELSE CAST(0 AS BIT) END