2

SQL Server中有一种方法可以创建一个自动递增自身的主键的表?我一直在看“UniqueIdentifier”类型,但这似乎并没有达到我的预期。SQL Server - 创建自动递增的唯一密钥

目前,我有这样的事情:

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

基本上,我想关键从1开始,只是增加自身的每条记录。

回答

5

您正在寻找的IDENTITY property

从文档:

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

IDENTITY [ (seed , increment) ] 

种子

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

增量

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

您必须同时指定种子和 增量或不指定。如果既不指定 ,则默认值为(1,1)。

顺便说一下,所有这些也都可以通过Sql Server的管理界面轻松实现。只需右键点击你的桌子并选择设计。然后选择适当的列并设置IDENTITY属性。

2

定义表的主键,这样的创建语句:

[重点] [INT] IDENTITY(1,1)NOT NULL

+1

但他希望使用Guid作为主键。 – starskythehutch 2010-08-31 12:21:34

+0

@starskythehutch:他确实说他希望它从1开始增加,所以我想他想要一个int? – 2010-08-31 12:22:19

+0

够公平的。删除了我的答案。 – starskythehutch 2010-08-31 12:25:23