数据

主键(primary key)

主键(primary key)是数据库表里的一个列,它的值能唯一地标识每一行——是你随时都能精确指向某一条记录的那个稳定把手。就像学号或订单号,它能毫不含糊地回答「你说的到底是哪一行?」。

两条规则让它与众不同:它必须唯一(任何两行都不能共用同一个值),而且永远不能为空。数据库本身会强制执行这一点,所以你不会一不小心弄出两个都挂着 42 号的顾客。它往往就是数据库替你自动递增、每新增一行就发一个的普通编号。

为什么非要它?因为名字和邮箱会变、还可能多人共用,而主键是你唯一能指望永远代表同一行的东西。当别的表需要引用这一行时,指向的也正是它——是外键(foreign key)紧紧抓住的那个锚点。

CREATE TABLE users (
  id    INTEGER PRIMARY KEY,
  email TEXT NOT NULL
);

把一个列标为 PRIMARY KEY,数据库就保证每一行的 id 都存在且唯一。

一张表只有一个主键,但当没有任何单独的列能唯一时,这个主键可以由几个列合在一起组成。

又称
pkid columnunique identifier