在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約束確保了中間表中的外鍵引用了對應表的主鍵。
通過上述步驟,就成功建立了學生表、課程表和中間表,實現了多對多關系。可以向中間表中插入數據來表示學生和課程的關聯關系。