SQL Server - 创建自动递增唯一键

时间:2010-08-31 12:17:47

标签: primary-key sql-server-express uniqueidentifier create-table

SQL Server中是否有一种方法可以创建一个主键自动递增的表?我一直在寻找“UniqueIdentifier”类型,但这似乎没有达到我的预期。

目前,我有这样的事情:

CREATE TABLE [dbo].[MyTable](
        [Date] [datetime] NOT NULL,
    [MyField1] [nchar](50) NOT NULL,
    [MyField2] [nvarchar](max) NULL,
    [Key] [uniqueidentifier] NOT NULL
) ON [PRIMARY]

基本上,我希望KEY从1开始,并为每条记录增加自己。

2 个答案:

答案 0 :(得分:5)

您正在寻找IDENTITY property

来自文档:

  

在表格中创建标识列。   此属性与CREATE一起使用   表和ALTER TABLE Transact-SQL   语句。

IDENTITY [ (seed , increment) ]

种子

  

是用于非常的值   第一行加载到表中。

增量

  

是否添加了增量值   到以前的身份价值   已加载的行。

     

您必须同时指定种子和   增量或不增加。如果两者都不是   指定,默认为(1,1)。

顺便说一句,所有这一切也可以通过Sql Server的mgmt UI轻松实现。只需右键单击您的表格并选择设计。然后选择正确的列并设置IDENTITY属性。

答案 1 :(得分:2)

在表create name中定义主键,如下所示:

[Key] [int] IDENTITY(1,1)NOT NULL