在为学生分配多个科目时遇到问题。以10级标准学习的学生可以与其他必修科目一起学习生物学或计算机。现在,我想以一种方式将两个表“学生”和“受试者”联系起来:如果学生学习生物学或计算机,则所有科目的列表都将与其包含生物学或计算机的ID相关联。下表是: 学生桌:
CREATE TABLE `students` (
`student_id` int(50) NOT NULL,
`student_name` varchar(100) NOT NULL,
`father_name` varchar(100) NOT NULL,
`class` varchar(10) NOT NULL,
`subject_group` varchar(25) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
主题表:
CREATE TABLE `subjects` (
`subject_id` int(10) NOT NULL,
`student_id` int(50) NOT NULL,
`subject_name` varchar(25) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
答案 0 :(得分:0)
您需要另一个表格:
CREATE TABLE `Student_Subject` (
`id`
`subject_id` ,
`student_id`
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
subject_id和student_id将是外键。该表的ID将是主键。这样,您可以建立一对多关系。