SQL SERVER 中identity用法
在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列的值。
TOP