📅  最后修改于: 2023-12-03 15:20:15.361000             🧑  作者: Mango
在SQL Server中,标识列是一种特殊的列,它可以自动为表中的行生成唯一的值。标识列通常用作主键,被其他表引用。
创建标识列可以通过在列定义中使用关键字IDENTITY
和指定其种子和步长值来实现。其中种子值是开始值,步长值是每次自增的值。
例如,以下代码创建了一个名为Students
的表,其中包含一个标识列ID
:
CREATE TABLE Students (
ID INT IDENTITY(1,1) PRIMARY KEY,
Name VARCHAR(50),
Age INT
);
上面的代码创建了一个名为Students
的表,并为其定义了一个名为ID
的标识列。种子值为1,步长值为1,同时也指定ID
列为主键。
当插入数据时,不需要为标识列指定值,它会自动对值进行递增。例如,以下代码将向上面创建的Students
表中插入一行数据:
INSERT INTO Students (Name, Age) VALUES ('Tom', 18);
插入该行数据后,ID
列的值将自动分配为1,下次插入数据时将自动递增至2。
在插入数据后,可以使用SCOPE_IDENTITY()
函数获取刚插入的行的标识列的值。例如,以下代码插入一行数据后获取其ID
值:
INSERT INTO Students (Name, Age) VALUES ('Jack', 20);
SELECT SCOPE_IDENTITY() AS StudentID;
上述代码将输出一个名为StudentID
的列,其中包含刚插入的行的标识列的值。
标识列是SQL Server中用于生成唯一值的一种列类型。它具有自动递增的特性,既方便又易于使用。在使用标识列时,需要注意确保其唯一性,并通过SCOPE_IDENTITY()
函数来获取标识列的值。