第二十三回:生生不息

—— AUTO INCREMENT (自增)
👈 上一回:破而后立 🏠 回到大竹峰 下一回:岁月长河 👉

每次有新弟子入门,我都要去查一下上一个弟子的 ID 是多少,然后加 1 填进去,好麻烦啊!万一填重复了怎么办?

何不让它自己生长?用 AUTO INCREMENT,ID 会自动顺延,生生不息,绝不重复。

🌱 灵根自长:AUTO INCREMENT

📜 造化心法

AUTO INCREMENT 会在新记录插入表中时生成一个唯一的数字。

🧘‍♂️ 试炼:自动编号

MySQL 写法:

CREATE TABLE Disciples ( ID int NOT NULL AUTO_INCREMENT, Name varchar(255) NOT NULL, PRIMARY KEY (ID) );

SQL Server 写法:IDENTITY(1,1)

CREATE TABLE Disciples ( ID int IDENTITY(1,1) PRIMARY KEY, Name varchar(255) NOT NULL );

PostgreSQL 写法:SERIAL

CREATE TABLE Disciples ( ID SERIAL PRIMARY KEY, Name varchar(255) NOT NULL );

Oracle (12c+) 写法:

CREATE TABLE Disciples ( ID NUMBER GENERATED BY DEFAULT AS IDENTITY, Name varchar2(255) NOT NULL, PRIMARY KEY (ID) );

那插入数据的时候,ID 这一栏我填什么?

不用填! 甚至不要提它。系统会自动赋予它下一个数字。

INSERT INTO Disciples (Name) VALUES ('Zhang Xiaofan');

结果:ID 会自动变成 1(如果是第一个)。下一个就是 2,以此类推。