一尘不染

SQL Server中的身份列

sql

为什么Sql Server在一个表中不允许多个IDENTITY列?任何特定原因。


阅读 104

收藏
2021-05-23

共1个答案

一尘不染

身份列是数据库表中的列(也称为字段):

  1. 唯一标识表中的每一行
  2. 由数据库生成的值组成

这很像Microsoft Access中的AutoNumber字段或Oracle中的序列。

标识列与主键的不同之处在于,它的值由服务器管理,并且(在极少数情况下除外)无法修改。在许多情况下,标识列用作主键,但是并不总是这样。

SQL Server使用标识列作为键值来引用特定的行。因此,只能创建一个标识列。另外,如果未明确声明任何标识列,则Sql
Server内部会存储一个单独的列,其中包含每一行的键值。如前所述,如果您希望多个列具有唯一值,则可以使用UNIQUE关键字。

2021-05-23