作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 2 个表。 expermiment_list
包含实验列表,expermiment_MCQ
包含该实验的几个问题。
例如:expermiment_list
中存储的ChemistryLab01可能有很多问题存储在expermiment_MCQ
中
我能够使用此 SQL 创建新实验:
INSERT INTO `expermiment_list` (`exp_name`,`exp_duedate`) VALUES
('ChemistryLab01','2015/12/12'),
('ChemistryLab02','2016/11/11');
在上述案例中,ChemistryLab01 获得 exp_id = 1,ChemistryLab02 获得 exp_id = 2。显示我如何添加/插入问题到 expermiment_MCQ
,其中 exp_id = 1。< strong>这是我的伪 SQL:
INSERT INTO `expermiment_MCQ` (`exp_question`,`exp_option1`,`exp_option2`,`exp_option3`,
`exp_option4`,`correct_answer`) VALUES ('Whats your instructor's name?','Adam','Ben','Chris','David',
'Chris') where expermiment_list.exp_id = expermiment_MCQ.exp_id and expermiment_MCQ.exp_id = 1;
两个表结构:
CREATE TABLE IF NOT EXISTS `expermiment_list` (
`exp_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`exp_name` varchar(500) NOT NULL,
`exp_duedate` varchar(20) NOT NULL,
PRIMARY KEY (`exp_id`)
);
CREATE TABLE IF NOT EXISTS `expermiment_MCQ` (
`exp_id` int(10) unsigned,
`question_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`exp_question` varchar(5000) NOT NULL,
`exp_option1` varchar(200) NOT NULL,
`exp_option2` varchar(200) NOT NULL,
`exp_option3` varchar(200) NOT NULL,
`exp_option4` varchar(200) NOT NULL,
`correct_answer` varchar(200) NOT NULL,
PRIMARY KEY (`question_id`)
);
最佳答案
你的 psuedo-sql 大部分是正确的,尽管 where 语句不合适。只需将 id 直接插入表中,就像插入其他列一样:
INSERT INTO expermiment_MCQ(
exp_id,
exp_question ,
exp_option1 ,
exp_option2 ,
exp_option3 ,
exp_option4 ,
correct_answer)
VALUES (
1,
'Whats your instructor''s name?' ,
'Adam',
'Ben',
'Chris',
'David',
'Chris')
不过,作为一般提示,我建议将您的答案分解到另一个表格中。当您以选项 1、选项 2 等结束时,您需要更改架构以处理选项 5 +。
我会按照以下方式去做:
exp_id | option_num | option | is_correct
1 | 1 | Adam | N
1 | 2 | Chris | Y
1 | 3 | David | N
关于mysql - 使用 Joins 和 Where 插入表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33987998/
我是一名优秀的程序员,十分优秀!