gpt4 book ai didi

mysql - 使用 Joins 和 Where 插入表中

转载 作者:行者123 更新时间:2023-11-30 22:30:38 25 4
gpt4 key购买 nike

我有 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com