为一个学生分配多个科目

bz4sfanl  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(308)

我在给一个学生分配多个科目时遇到了一个问题。学习10级标准的学生可以学习生物或计算机以及其他必修科目。现在我想连接两个表'students'和'subjects',如果一个学生学习生物学或计算机,那么所有科目的列表将与他/她的包含生物学或计算机的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;
lsmd5eda

lsmd5eda1#

您需要另一张table:

CREATE TABLE `Student_Subject` (
`id`
`subject_id` ,
`student_id` 
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

科目id和学生id将是外键。此表的id将是主键。这样你就可以有一对多的关系。

相关问题