自動遞增 在新記錄插入時自動生成唯一數字,常用於主鍵欄位,免除手動管理 ID 的負擔。
CREATE TABLE Persons (
ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (ID)
);
AUTO_INCREMENTALTER TABLE Persons AUTO_INCREMENT = 100;插入資料時無需指定 ID:
INSERT INTO Persons (FirstName, LastName)
VALUES ('Lars', 'Monsen');
CREATE TABLE Persons (
ID int IDENTITY(1,1) PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
IDENTITY(種子, 遞增值)IDENTITY(10,5) 表示從 10 開始,每次遞增 5CREATE TABLE Persons (
ID Integer PRIMARY KEY AUTOINCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
AUTOINCREMENTAUTOINCREMENT(10,5)Oracle 需透過 Sequence 物件實現:
-- 建立序列
CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10;
-- 插入資料使用 nextval
INSERT INTO Persons (ID, FirstName, LastName)
VALUES (seq_person.nextval, 'Lars', 'Monsen');
CACHE 10:預先緩存 10 個值提升效能seq_person.nextval四大資料庫語法差異較大,遷移時需特別注意。