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

Pau*_*els 2 primary-key uniqueidentifier create-table sql-server-express

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]
Run Code Online (Sandbox Code Playgroud)

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

Pau*_*sik 5

您正在寻找IDENTITY属性.

从文档:

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

IDENTITY [ (seed , increment) ]
Run Code Online (Sandbox Code Playgroud)

种子

用于第一行的值是否已加载到表中.

增量

是添加到已加载的上一行的标识值的增量值.

您必须同时指定种子和增量.如果两者都未指定,则默认值为(1,1).

顺便说一句,所有这一切也很容易从Sql Server的mgmt UI实现.只需右键单击您的表格并选择设计.然后选择正确的列并设置IDENTITY属性.