主键

主键用于唯一标识表中的一行,是表内身份和跨表引用的核心锚点。

#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 做代理键。
  • 用户名、手机号、邮箱可能唯一,但未必适合作为主键,因为它们可能变化。
  • 一张表可以有很多唯一约束,但主键通常只有一个主身份角色。
创建于 2026/5/5 更新于 2026/5/27