📜  sql server 中的标识列 - SQL (1)

📅  最后修改于: 2023-12-03 15:20:15.361000             🧑  作者: Mango

SQL Server中的标识列

在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()函数来获取标识列的值。