MySQL复合主键(Composite Primary Key)是指由两个或多个字段组合而成的主键。它用于唯一标识表中的每一行数据。复合主键中的每个字段都不能为NULL,并且组合在一起必须是唯一的。
MySQL中的复合主键通常是由两个或多个字段组成的。这些字段可以是不同的数据类型,如INT、VARCHAR等。
假设有一个学生和课程的关系表student_course
,其中包含学生ID、课程ID和成绩。我们可以使用学生ID和课程ID作为复合主键。
CREATE TABLE student_course (
student_id INT NOT NULL,
course_id INT NOT NULL,
score INT,
PRIMARY KEY (student_id, course_id)
);
INSERT INTO student_course (student_id, course_id, score)
SELECT 1, 101, 90
FROM DUAL
WHERE NOT EXISTS (
SELECT 1
FROM student_course
WHERE student_id = 1 AND course_id = 101
);
ALTER TABLE
语句来添加或修改索引。ALTER TABLE student_course ADD INDEX idx_student_course (student_id, course_id);
SELECT * FROM student_course WHERE student_id = 1 AND course_id = 101;
希望这些信息对你有所帮助!如果有更多问题,欢迎继续提问。
领取专属 10元无门槛券
手把手带您无忧上云