复合主键(Composite Key)是由两个或多个字段组合而成的主键,用于唯一标识表中的每一行数据。与单一主键不同,复合主键可以提供更强的数据唯一性约束。
复合主键通常由两个或多个字段组成,这些字段可以是数值型、字符串型或其他数据类型。
假设我们有一个名为 student_course
的表,用于记录学生和课程的关联信息。我们可以将 student_id
和 course_id
字段组合成复合主键。
CREATE TABLE student_course (
student_id INT NOT NULL,
course_id INT NOT NULL,
grade FLOAT,
PRIMARY KEY (student_id, course_id)
);
ALTER TABLE student_course
ADD PRIMARY KEY (student_id, course_id);
原因:直接在已有表上增加复合主键可能会导致数据冲突或违反唯一性约束。如果表中已经存在重复的组合值,增加复合主键会失败。
解决方法:
通过以上步骤,你可以成功地在 MySQL 表中增加复合主键,并解决可能遇到的问题。
领取专属 10元无门槛券
手把手带您无忧上云