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