温馨提示×

SQL SERVER 中identity用法

sql
小云
189
2023-09-12 05:42:32
栏目: 云计算

在SQL Server中,IDENTITY用于创建自动增长的列,该列的值由数据库自动生成。IDENTITY列主要用于为表中的每一行提供唯一的标识符。

要在SQL Server中创建IDENTITY列,可以使用以下语法:

CREATE TABLE table_name
(
column_name data_type  IDENTITY( start_value , increment_value )
)

其中,table_name是表的名称,column_name是IDENTITY列的名称,data_type是列的数据类型,start_value是IDENTITY列的起始值,increment_value是IDENTITY列的增量值。

示例:

CREATE TABLE Customers
(
CustomerID int IDENTITY(1,1) PRIMARY KEY,
CustomerName varchar(255) NOT NULL,
City varchar(255)
)

在上面的示例中,CustomerID列被定义为IDENTITY列,并从1开始,每次增加1。它还被指定为主键列。

当插入数据时,可以不指定IDENTITY列的值,数据库会自动为其生成唯一的值。例如:

INSERT INTO Customers (CustomerName, City)
VALUES ('John Doe', 'New York')

此时,CustomerID列的值将会自动生成并插入到表中。

注意事项:

  • 一张表只能有一个IDENTITY列。

  • 一旦创建了IDENTITY列,它的值将自动递增,不需要手动指定。

  • 可以通过设置IDENTITY_INSERT为ON来插入指定的值到IDENTITY列。

  • 可以使用IDENT_CURRENT函数来获取IDENTITY列的当前值。

  • 可以使用SCOPE_IDENTITY函数来获取最近插入行的IDENTITY列的值。

0