组合主键(Composite Key)是由表中的多个列组合而成的主键。它可以唯一标识表中的每一行数据,通常用于多列共同决定唯一性的情况。
组合主键可以是单个列的主键,也可以是多个列的组合主键。
组合主键常用于以下场景:
假设我们有一个学生选课表 student_course,其中包含学生ID (student_id) 和课程ID (course_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 作为主键?原因:单独使用 student_id 或 course_id 作为主键无法保证唯一性,因为一个学生可以选多门课,一门课也可以被多个学生选。
解决方法:使用 student_id 和 course_id 的组合作为主键。
解决方法:在创建表时,使用 PRIMARY KEY 关键字指定多个列作为组合主键。
CREATE TABLE student_course (
student_id INT NOT NULL,
course_id INT NOT NULL,
PRIMARY KEY (student_id, course_id)
);解决方法:可以使用 ALTER TABLE 语句添加组合主键。
ALTER TABLE student_course
ADD PRIMARY KEY (student_id, course_id);通过以上内容,你应该对MySQL组合主键有了全面的了解,并且知道如何在实际应用中添加和使用组合主键。
没有搜到相关的文章