guoyu/批量修复题目答案.sql

60 lines
1.8 KiB
MySQL
Raw Normal View History

2025-12-06 20:11:36 +08:00
USE study;
-- ========================================
-- 批量修复题目答案
-- ========================================
-- 方案1设置默认答案 A,B需要后续手动调整
-- 对于缺少答案的多选题,先设置一个默认答案,避免显示"暂无"
UPDATE question
SET correct_answer = 'A,B'
WHERE id IN (227, 229, 236, 241)
AND (correct_answer IS NULL OR correct_answer = '');
-- 方案2修复答案格式错误的题目
-- id 205 的答案是 "A. 阿斯蒂芬收到",应该改为 "A"
UPDATE question
SET correct_answer = 'A'
WHERE id = 205;
-- 验证修复结果
SELECT
q.id,
e.exam_name,
q.question_type,
LEFT(q.question_content, 30) AS content,
q.correct_answer,
CASE
WHEN q.correct_answer IS NULL OR q.correct_answer = '' THEN '❌ 空'
WHEN q.question_type = 'multiple' AND q.correct_answer NOT LIKE '%,%' THEN '⚠️ 格式可疑'
ELSE '✓ OK'
END AS status
FROM question q
LEFT JOIN exam e ON q.exam_id = e.id
WHERE e.exam_name LIKE '%Test%'
AND q.question_type = 'multiple'
ORDER BY q.id;
-- ========================================
-- 如果你知道每道题的正确答案,可以用下面的语句单独修改
-- ========================================
-- Test4 (id 227)
-- UPDATE question SET correct_answer = 'A,B' WHERE id = 227;
-- Test5 (id 229)
-- UPDATE question SET correct_answer = 'A,B' WHERE id = 229;
-- Test6 (id 236)
-- UPDATE question SET correct_answer = 'A,B' WHERE id = 236;
-- Test7 (id 241)
-- UPDATE question SET correct_answer = 'A,B' WHERE id = 241;
-- ========================================
-- 完成后的检查清单
-- ========================================
-- ✓ 所有多选题都有正确答案
-- ✓ 答案格式统一为 "A,B,C"(字母标签,逗号分隔)
-- ✓ 学生端查看成绩时能正确显示答案