2012-05-29 29 views
0

我在Visual Studio 2010中創建了一個數據庫。uniqueidentifier中的主鍵值不變

此數據庫有一個包含3列的表。

  • ADID其是主鍵,且其類型是類型唯一標識符在類型爲nvarchar
  • AdName
  • 用戶ID uniqueidntifier

當上的按鈕在用戶登錄並點擊,我希望有一個排增加到我的數據庫與

  • AdName(我確定它)的常數值
  • 登錄用戶的ID輸入用戶ID
  • 一個ID來數據庫的AdID自動創建

一切都OK了一行時添加,但ADID的值沒有在另一個時間而改變,這個值是00000000-0000-0000-0000-000000000000一直。

我知道這是一個愚蠢的問題,但我不知道問題在哪裏,我應該怎麼做。對於ADID列 感謝

回答

1
CREATE TABLE myTable (
    myId uniqueidentifier NOT NULL 
); 

ALTER TABLE myTable ADD CONSTRAINT myConstraint 
         DEFAULT NEWSEQUENTIALID() 
         FOR myId ; 
+0

感謝答案,我用這個代碼但我不知道爲什麼它不工作! – starrr

1

設置默認值newid()

+0

非常感謝,我設置列屬性的默認值或Bindng爲(newid()),但仍然不起作用:( – starrr

3

兩件事情:

  • 你指定NEWID()用於ADID的默認?

  • 你發送00000000-0000-0000-0000-0000000000000x00(二進制)到數據庫
    例如,SELECT CAST(0x00 AS uniqueidentifier)

基本上,SQL Server正在做什麼,你問

+0

不,我沒有指定缺省的NEWID()a沒有發送00 ... 00 to database。 – starrr

+0

@Tena:那麼你需要設置一個默認值。有一個暗示值0x00被插入。 – gbn

+0

Iset如何設置默認值?你的意思是把一個值放在Identity種子中?我怎樣指定一個NEWID的僞造()? – starrr