天下同名同姓之人何其多?若有两个“张小凡”,我们要如何区分?
这……靠长相?或者靠手里的烧火棍?
笨!当然是每个人发一个独一无二的腰牌!这就是 PRIMARY KEY。
PRIMARY KEY 约束唯一标识数据库表中的每条记录。
在创建表时定义主键:
CREATE TABLE Disciples (
ID int NOT NULL,
Name varchar(255) NOT NULL,
Age int,
PRIMARY KEY (ID)
);
通常我们不需要手动给每个人编ID,最好让数据库自动生成。
-- MySQL (青云门)
ID int NOT NULL AUTO_INCREMENT
-- SQL Server (焚香谷)
ID int IDENTITY(1,1)
-- PostgreSQL (天音寺)
ID SERIAL PRIMARY KEY
-- Oracle (南疆)
ID NUMBER GENERATED BY DEFAULT AS IDENTITY
或者,如果你想用多个列组合起来做主键(比如“门派”+“代号”):
CONSTRAINT PK_Disciple PRIMARY KEY (SectName, CodeName)