自动增量允许在将新记录插入表中时自动生成唯一的编号。
通常,这是我们希望在每次插入新记录时自动创建的主键字段。
以下 SQL 语句将 "Personid" 列定义为 "Persons" 表中的自增主键字段:
CREATE TABLE Persons (
Personid int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (Personid)
);
MySQL 使用AUTO_INCREMENT
关键字来执行自动增量功能。
默认情况下,起始值AUTO_INCREMENT
为1,每增加一条记录就会加1。
为了让AUTO_INCREMENT
序列以另一个值开始,使用以下 SQL 语句:
ALTER TABLE Persons AUTO_INCREMENT=100;
要将新记录插入 "Persons" 表中,我们不必为 "Personid" 列指定值(将自动添加唯一值):
INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');
上面的 SQL 语句会将一条新记录插入"Persons" 表中。 "Personid" 列将被分配一个唯一的值。 "FirstName" 列将设置为 "Lars","LastName" 列将设置为 "Monsen"。
以下 SQL 语句将 "Personid" 列定义为 "Persons" 表中的自增主键字段:
CREATE TABLE Persons (
Personid int IDENTITY(1,1) PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
MS SQL Server 使用IDENTITY
关键字来执行自动增量功能。
在上面的例子中,起始值 IDENTITY
为1,每增加一条记录就会加1。
提示:要指定 "Personid" 列应从值 10 开始并以 5 递增,请将其更改为IDENTITY(10,5)
。
要将新记录插入 "Persons" 表中,我们不必为 "Personid" 列指定值(将自动添加唯一值):
INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');
上面的 SQL 语句会将一条新记录插入"Persons" 表中。 "Personid" 列将被分配一个唯一的值。 "FirstName" 列将设置为 "Lars","LastName" 列将设置为 "Monsen"。
以下 SQL 语句将 "Personid" 列定义为 "Persons" 表中的自增主键字段:
CREATE TABLE Persons (
Personid AUTOINCREMENT PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
MS Access 使用AUTOINCREMENT
关键字来执行自动增量功能。
默认情况下,起始值AUTOINCREMENT
为1,每增加一条记录就会加1。
提示:要指定 "Personid" 列应从值 10 开始并以 5 递增,请将自动增量更改为 AUTOINCREMENT(10,5)
。
要将新记录插入 "Persons" 表中,我们不必为 "Personid" 列指定值(将自动添加唯一值):
INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');
上面的 SQL 语句会将一条新记录插入"Persons" 表中。 "Personid" 列将被分配一个唯一的值。 "FirstName" 列将设置为 "Lars","LastName" 列将设置为 "Monsen"。
在 Oracle 中,代码有点棘手。
您必须使用序列对象创建一个自动增量字段(该对象生成一个数字序列)。
使用以下内容CREATE SEQUENCE
语法:
CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10;
上面的代码创建了一个名为 seq_person 的序列对象,它从 1 开始,并以 1 递增。它还将缓存最多 10 个值以提高性能。缓存选项指定内存中将存储多少序列值以加快访问速度。
要将新记录插入到 "Persons" 表中,我们必须使用 nextval 函数(该函数从 seq_person 序列中检索下一个值):
INSERT INTO Persons (Personid,FirstName,LastName)
VALUES (seq_person.nextval,'Lars','Monsen');
上面的 SQL 语句会将一条新记录插入"Persons" 表中。 "Personid" 列将被分配 seq_person 序列中的下一个数字。 "FirstName" 列将设置为 "Lars","LastName" 列将设置为 "Monsen"。
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!