如何在SQL Server 2008中使用GUID数据类型?

时间:2010-11-04 19:29:23

标签: sql-server guid

我想使用SQL SERVER 2008构建一个员工表,在我的表中我希望每个员工都有一个ID。

我听说 GUID ,我有点理解它是一种数据类型,但我无法使用它

你可以告诉我使用它的方法......

顺便说一下,我想说我想要这样的东西:

CREATE TABLE Employees (
ID guid PRIMARY KEY,
Name NVARCHAR(50) NOT NULL
)

我该怎么办?因为我想从中受益,但我无法知道如何做到这一点

7 个答案:

答案 0 :(得分:22)

它在SQL Server中不称为GUID。它被称为uniqueidentifier

答案 1 :(得分:13)

该类型被称为UNIQUEIDENTIFIER,正如其他人已经指出的那样。但我认为你必须在继续之前阅读这篇文章:GUIDs as PRIMARY KEYs and/or the clustering key

答案 2 :(得分:5)

他们被称为uniqueidentifier

答案 3 :(得分:2)

如果是clustered(这是PK的默认设置),请不要使用uniqueidentifier作为主键

说真的:改用标准IDENTITY

答案 4 :(得分:1)

实用演示,FWIW

DECLARE @guid1 AS uniqueidentifier
SET @guid1 = NEWID()
SELECT @guid1

答案 5 :(得分:0)

您还可以考虑使用NEWSEQUENCIALID作为ID列的默认值,因为它比使用NEWID()生成GUID更快。

但是(来自上面的相同链接): -

如果担心隐私,请不要使用此功能。可以猜测下一个生成的GUID的值,从而访问与该GUID相关联的数据。

答案 6 :(得分:0)

SQL Server中的GUID通过UNIQUEIDENTIFIER数据类型已知。下面是所需的代码。

 CREATE TABLE Employees 
    (
        Id UNIQUEIDENTIFIER PRIMARY KEY,
        Name NVARCHAR (50) not null
    )
    GO