首页博客网络编程
用于不同数据库系统的 SQL AUTO INCREMENT
摘要 1. SQL AUTO INCREMENT 字段:主要提示 2. MySQL:语法 3. SQL Server 的语法 4. 访问语法 5. Oracle 语法

内容

SQL AUTO INCREMENT 字段:主要提示

  • 此字段允许您在将数据记录写入表时生成唯一数字。

  • 当您希望在每次插入新记录时生成主键字段时,这很有用。

MySQL:语法

在下面的代码示例中,我们在表 “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');


声明提示:若要转载请务必保留原文链接,申明来源,谢谢合作!

本文链接:https://www.gaoxuejun173.top/blog/229

广告位

本文配乐
来说两句吧

该文章已禁止评论

最新评论

广告位