阅读量:0
在MySQL中建立多对多关系可以通过创建中间表来实现。中间表中包含两个外键,分别指向两个相关联的表。以下是一个具体的示例:
假设有两个表:学生表(students)和课程表(courses),一个学生可以选择多门课程,一门课程也可以被多个学生选择。要建立多对多关系,需要创建一个中间表(student_courses),其中包含学生的ID和课程的ID。
- 创建学生表:
CREATE TABLE students ( student_id INT PRIMARY KEY AUTO_INCREMENT, student_name VARCHAR(50) );
- 创建课程表:
CREATE TABLE courses ( course_id INT PRIMARY KEY AUTO_INCREMENT, course_name VARCHAR(50) );
- 创建中间表:
CREATE TABLE student_courses ( student_id INT, course_id INT, PRIMARY KEY (student_id, course_id), FOREIGN KEY (student_id) REFERENCES students(student_id), FOREIGN KEY (course_id) REFERENCES courses(course_id) );
在中间表中,PRIMARY KEY约束确保了每个学生和课程的组合是唯一的,FOREIGN KEY约束确保了中间表中的外键引用了对应表的主键。
通过上述步骤,就成功建立了学生表、课程表和中间表,实现了多对多关系。可以向中间表中插入数据来表示学生和课程的关联关系。