SQL 自增字段

您所在的位置:网站首页 新增加英文怎么写 SQL 自增字段

SQL 自增字段

2024-06-06 03:29| 来源: 网络整理| 查看: 265

❮ 上一节 下一节 ❯ SQL 自增字段 自增字段

Auto-increment 会在新记录插入表中时生成一个唯一的数字。

我们通常希望在每次插入新记录时,自动地创建主键字段的值。

用于 MySQL 的语法

以下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 任务。

默认地,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 Server 的语法

以下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 使用 IDENTITY 关键字来执行 auto-increment 任务。

在上面的示例中,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"。

用于 Access 的语法

以下SQL语句将"Personid"列定义为"Persons"表中的自动递增主键字段:

CREATE TABLE Persons (     Personid AUTOINCREMENT PRIMARY KEY,     LastName varchar(255) NOT NULL,     FirstName varchar(255),     Age int );

MS Access 使用 AUTOINCREMENT 关键字来执行 auto-increment 任务。

默认情况下,AUTOINCREMENT 的起始值为1,对于每个新记录,它将递增1。

提示: 要指定"Personid"列应从值10开始并递增5,请将autoincrement更改为autoincrement(10,5)。

要在"Persons"表中插入新记录,我们不必为"Personid"列指定值(将自动添加唯一值):

INSERT INTO Persons (FirstName,LastName) VALUES ('Lars','Monsen');

上面的SQL语句将在"Persons"表中插入一条新记录。"Personid"列将被指定一个唯一的值。"FirstName"列将设置为"Lars",而"LastName"列将设置为"Monsen"。

用于 Oracle 的语法

在 Oracle 中,代码稍微复杂一点。

您必须通过 sequence 对创建 auto-increment 字段(该对象生成数字序列)。

请使用下面的 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"。

❮ 上一节 下一节 ❯


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3