MySQL中的復合主鍵是指一個表中具有多個列作為主鍵的結構,這些列一起唯一標識一個記錄。
CREATE TABLE courses( course_id INT(11) NOT NULL, student_id INT(11) NOT NULL, score INT(11), PRIMARY KEY (course_id, student_id) );
上面的代碼中,courses表中的主鍵是course_id和student_id兩個字段。這意味著每個學生在每門課程中只能有一個得分記錄。
使用復合主鍵的好處在于可以提高數據庫表的查詢性能。當查詢以復合主鍵為條件時,MySQL可以直接通過索引定位到正確的記錄,而不需要掃描整個表格。
此外,使用復合主鍵還可以避免重復值的出現。如果一個表只有單列主鍵,那么可以有多個記錄具有相同的值。但如果使用復合主鍵,唯一性限制會同時應用于多個列,保證了每個組合值的唯一性。
總之,在設計MySQL表時,使用復合主鍵可以提高性能、避免重復數據,并規范數據結構。