SQL Server自动递增没有主键的列

时间:2011-09-14 14:27:12

标签: sql sql-server

是否可以在SQL Server中自动递增列而不将其作为主键?

如果是,如何做到这一点。

由于

2 个答案:

答案 0 :(得分:26)

是。不要求IDENTITY列成为主键。

CREATE TABLE T
(
X INT PRIMARY KEY,
Y INT IDENTITY(1,1)
)

虽然我不确定这什么时候会有用。如果你有一个自然键要用作PK,那么你可能想要在代理备用键上设置一个唯一的约束。

为了设置FK关系,SQL Server不关心列是否是PK,它只需要一个唯一的索引/它们。

答案 1 :(得分:5)

使用IDENTITY关键字声明列,并且不要在其上创建PRIMARY KEY约束。