在MySQL中,通常情况下,一个表只能有一个主键(Primary Key)。然而,有时候业务需求可能需要定义多个字段作为主键,以确保数据的唯一性。这时可以使用复合主键(Composite Key),它是由表中的多个字段组合而成的主键。
复合主键是由两个或多个字段组合而成的主键,用于确保这些字段的组合值在表中是唯一的。复合主键中的每个字段都不能为NULL,并且它们的组合值在整个表中必须是唯一的。
复合主键是由多个字段组合而成的,因此没有特定的类型,它是由表中的字段类型决定的。
复合主键常用于以下场景:
假设有一个学生选课表,包含学生ID和课程ID两个字段,这两个字段的组合可以唯一标识一条记录。
CREATE TABLE student_course (
student_id INT NOT NULL,
course_id INT NOT NULL,
PRIMARY KEY (student_id, course_id)
);
在这个例子中,student_id
和course_id
的组合构成了复合主键,确保了每条记录的唯一性。
通过以上解释和示例,希望你能更好地理解MySQL中复合主键的概念和应用。
领取专属 10元无门槛券
手把手带您无忧上云