我想使用SQL SERVER 2008構建一個僱員表,並且在我的表中我想爲每個僱員編號。如何在SQL Server 2008中使用GUID數據類型?
我heared約GUID和我有點明白它的數據類型,但我無法使用它
可以請你告訴我用它的方式......
的方式,可以說,我想是這樣的:
CREATE TABLE員工( ID GUID PRIMARY KEY, 名稱NVARCHAR(50)NOT NULL )
我該怎麼辦呢?因爲我想從中受益,但我無法找到如何做到這一點
我想使用SQL SERVER 2008構建一個僱員表,並且在我的表中我想爲每個僱員編號。如何在SQL Server 2008中使用GUID數據類型?
我heared約GUID和我有點明白它的數據類型,但我無法使用它
可以請你告訴我用它的方式......
的方式,可以說,我想是這樣的:
CREATE TABLE員工( ID GUID PRIMARY KEY, 名稱NVARCHAR(50)NOT NULL )
我該怎麼辦呢?因爲我想從中受益,但我無法找到如何做到這一點
它不是在SQL Server中稱爲GUID。這就是所謂的唯一標識符
他們被稱爲uniqueidentifier
不要使用唯一標識符作爲主鍵,如果集羣(這是的PK默認)
嚴重:使用標準的身份,而不是
類型被稱爲UNIQUEIDENTIFIER,正如其他人已經指出的那樣。但我認爲在繼續之前,您絕對必須閱讀本文:GUIDs as PRIMARY KEYs and/or the clustering key
+1個很棒的鏈接 - 作爲PK的GUID引人入勝 - 但價格合理! – 2010-11-04 21:27:54
您也可以考慮使用NEWSEQUENCIALID作爲ID列的默認值,因爲它比使用NEWID()生成GUID的速度更快。
BUT(從上面相同的鏈接): -
如果隱私是一個問題,不要使用此功能。可以猜測下一個生成的GUID的值,因此可以訪問與該GUID相關的數據。
實際演示,FWIW
DECLARE @guid1 AS uniqueidentifier
SET @guid1 = NEWID()
SELECT @guid1
我沒有得到你很好,有什麼事說,利用身份,而不是 – Mouayad 2010-11-04 19:35:42
你能詳細談談那是什麼意思?如果你想讓你的ID在全球範圍內獨一無二?現在無法真正想到你爲什麼要這樣做的原因,但我有興趣知道爲什麼這是一個壞主意? – 2010-11-04 19:35:56
@ Hugo:例如,參見Kimberly L. Tripp的文章:[GUIDs PRIMARY KEYs and/or the clustering key](http://www.sqlskills.com/BLOGS/KIMBERLY/post/GUIDs-as-PRIMARY-鍵 - 安道爾最簇的key.aspx)。 – 2010-11-04 19:39:50