2012-12-02 75 views
2

我試圖創建一個表,作爲主鍵使用的值來自其他tables.My演講說,這是一個複合鍵(主+外資),但我似乎無法能夠找到如何啓動one.Can有人試圖解釋這個概念,以及如何嘗試實施它?SQL複合鍵

回答

7

考慮一個由多組學生和課程的數據。當你將它存儲在一個DBMS每個學生(或課程)將有一個相關聯的唯一的ID,將被稱爲學生(或課程)的主鍵

students(id, name, dob) 
courses(id, name, credits) 

學生與他們就讀的課程相關聯在您將創建一個表,看起來像這樣。

student_course(student_id, course_id) 

爲了創建這其實在MySQL中,你會寫是這樣的: -

CREATE TABLE student_course(student_id INT NOT NULL, 
          course_id INT NOT NULL, 
          PRIMARY KEY (student_id, course_id), 
          FOREIGN KEY (student_id) REFERENCES student(id), 
          FOREIGN_KEY (course_id) REFERENCES course(id))