首页博客网络编程
此字段允许您在将数据记录写入表时生成唯一数字。
当您希望在每次插入新记录时生成主键字段值时,这很有用。
在下面的代码示例中,我们在表 “Person” 中指定要自动递增的列 “ID”:
例复制
CREATE TABLE Person ( ID int NOT NULL AUTO_INCREMENT, LName varchar(255) NOT NULL, FName varchar(255), AgeID int, PRIMARY KEY (ID) );
自动增量是由 MySQL 中的关键字AUTO_INCREMENT启动的。
关键字值以 1 开头,然后每条记录再递增 1。
在下面的代码示例中,我们以不同的值开始序列:
例复制
ALTER TABLE Person AUTO_INCREMENT=100;
当将另一条数据记录写入表“Person”时,我们不需要为列“ID”定义值,因为它将自动添加:
例复制
INSERT INTO Person (FName,LName)VALUES ('Bob','Bonbon'); SQL Server 的语法 在下面的代码示例中,我们在表 “Person” 中指定要自动递增的列 “ID”: 例复制 CREATE TABLE Person ( ID int IDENTITY(1,1) PRIMARY KEY, LName varchar(255) NOT NULL, FName varchar(255), AgeID int); 自动增量由 MS SQL Server 中的关键字 IDENTITY 启动。 关键字值以 1 开头,然后每条记录再递增 1。 将列定义为以 20 开头并递增 10 时,请写成这样:IDENTITY(20,10)。 当将另一条数据记录写入表“Person”时,我们不需要为列“ID”定义值,因为它将自动添加: 例复制 INSERT INTO Person (FName,LName)VALUES ('Bob','Bonbon'); Access 语法 在下面的代码示例中,我们在表 “Person” 中指定要自动递增的列 “ID”: 例复制 CREATE TABLE Person ( ID Integer PRIMARY KEY AUTOINCREMENT, LName varchar(255) NOT NULL, FName varchar(255), AgeID int); 自动增量由 MS SQL Server 中的关键字 IDENTITY 启动。 关键字值以 1 开头,然后每条记录再递增 1。 将列定义为以 20 开头并递增 10 时,请写成这样:IDENTITY(20,10)。 当将另一条数据记录写入表“Person”时,我们不需要为列“ID”定义值,因为它将自动添加: 例复制 INSERT INTO Person (FName,LName)VALUES ('Bob','Bonbon'); Oracle 语法 在预言机中,情况有点不同。需要创建一个自动增量字段,其中包含一个序列对象,该对象将生成一个数字序列。 在下面的代码示例中,我们使用 CREATE SEQUENCE: 例复制 CREATE SEQUENCE seq_personsMINVALUE 1START WITH 1INCREMENT BY 1CACHE 10; 上面的示例生成一个 seq_persons 序列对象,该对象为 1,增量为 1。然后,它缓存 10 个值以获得更好的性能。 将新数据记录写入表“Person”时,需要使用 nextval 函数,该函数按顺序返回以下值seq_persons: 例复制 INSERT INTO Person (ID,FName,LName)VALUES (seq_persons.nextval,'Bob','Bonbon');
声明提示:若要转载请务必保留原文链接,申明来源,谢谢合作!
广告位
广告位