【发布时间】:2016-03-03 11:06:38
【问题描述】:
我有 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。这是我的伪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`)
);
【问题讨论】:
-
查看外键、事务和 LAST_INSERT_ID
-
实验?真的吗?
标签: mysql sql database join insert