2

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 开始,并为每条记录自增。

4

2 回答 2

5

您正在寻找IDENTITY 属性

从文档中:

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

IDENTITY [ (seed , increment) ]

种子

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

增量

是添加到已加载的前一行的标识值的增量值。

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

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

于 2010-08-31T12:27:17.933 回答
2

在表创建语句中定义您的主键,如下所示:

[键] [int] IDENTITY(1,1) 非空

于 2010-08-31T12:20:15.507 回答