SQL SERVER 中identity用法

sql
1341
2023/9/25 5:42:32
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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列的值。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: SQL游标有哪些替代方案