溫馨提示×

SQL SERVER 中identity用法

sql
小云
266
2023-09-12 05:42:32
欄目: 云計算

在SQL Server中,IDENTITY用于創(chuàng)建自動增長的列,該列的值由數(shù)據(jù)庫自動生成。IDENTITY列主要用于為表中的每一行提供唯一的標(biāo)識符。

要在SQL Server中創(chuàng)建IDENTITY列,可以使用以下語法:

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

其中,table_name是表的名稱,column_name是IDENTITY列的名稱,data_type是列的數(shù)據(jù)類型,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。它還被指定為主鍵列。

當(dāng)插入數(shù)據(jù)時,可以不指定IDENTITY列的值,數(shù)據(jù)庫會自動為其生成唯一的值。例如:

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

此時,CustomerID列的值將會自動生成并插入到表中。

注意事項:

  • 一張表只能有一個IDENTITY列。

  • 一旦創(chuàng)建了IDENTITY列,它的值將自動遞增,不需要手動指定。

  • 可以通過設(shè)置IDENTITY_INSERT為ON來插入指定的值到IDENTITY列。

  • 可以使用IDENT_CURRENT函數(shù)來獲取IDENTITY列的當(dāng)前值。

  • 可以使用SCOPE_IDENTITY函數(shù)來獲取最近插入行的IDENTITY列的值。

0