温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

联合主键是什么

发布时间:2026-10-14 07:25:52 来源:亿速云 阅读:100 作者:小樊 栏目:数据库

**联合主键(Composite Primary Key / Compound Primary Key)**是指:用两个或多个字段组合在一起,作为一张表的唯一标识(主键)。


1. 基本含义

  • 单字段主键:用 一个字段 唯一确定一行
    PRIMARY KEY (id)
    
  • 联合主键:用 多个字段组合 唯一确定一行
    PRIMARY KEY (student_id, course_id)
    

2. 作用

  • 保证组合唯一性:单独看可能重复,但组合起来不能重复
  • 表达业务关系:如“一个学生选一门课只能有一条记录”

3. 示例

学生选课表:

student_id course_id score
1 101 90
1 102 85
2 101 88

✅ 可以重复出现 student_id=1
✅ 可以重复出现 course_id=101
❌ 不能出现 (1,101) 两次

CREATE TABLE score (
  student_id INT,
  course_id INT,
  score INT,
  PRIMARY KEY (student_id, course_id)
);

4. 与唯一索引的区别

对比项 联合主键 联合唯一索引
是否唯一 ✅ ✅
是否允许 NULL ❌ ✅
一张表数量 只能一个 可多个
用于标识行 ✅ ❌

5. 使用建议

✅ 适合:

  • 多对多关系表
  • 明确由多个业务字段唯一确定的场景

⚠️ 注意:

  • 联合主键字段不宜过多
  • 关联查询时要注意顺序和性能

如果你愿意,我也可以用 Java / Hibernate / MyBatis 或具体业务场景给你讲。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手