主键
主键用于唯一标识表中的一行,是表内身份和跨表引用的核心锚点。
#type / concept
#status / growing
#tech / dev / backend
#resource / database
#resource / sql
[!info] related notes
主键
一句话定义
主键是用来唯一标识表中每一行的约束。
核心机制 / 工作原理
主键通常有几个关键要求:
- 唯一
- 不能为空
- 尽量稳定,不随业务含义频繁变化
它的作用是:
- 让数据库能明确区分每一行
- 成为其他表外键引用的目标
- 为更新、删除和关联提供稳定身份
最小例子 / 最小场景
CREATE TABLE users (
id BIGINT PRIMARY KEY,
name VARCHAR(100) NOT NULL
);
这里 id 就是主键。users 表里不能出现两个相同的 id。
边界与易混淆点
- 主键不等于业务上最重要的字段。很多系统会用无业务含义的
id做代理键。 - 用户名、手机号、邮箱可能唯一,但未必适合作为主键,因为它们可能变化。
- 一张表可以有很多唯一约束,但主键通常只有一个主身份角色。