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

问题描述 投票:0回答:8

我想使用

SQL SERVER 2008
构建一个员工表,并且在我的表中我想为每个员工都有一个 ID 。

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

你能告诉我使用方法吗...

顺便说一句,假设我想要这样的东西:

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

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

sql-server guid
8个回答
24
投票

在 SQL Server 中它不称为 GUID。这就是所谓的唯一标识符


16
投票

正如其他人已经指出的那样,该类型称为 UNIQUEIDENTIFIER。但我认为您在继续之前绝对必须阅读这篇文章:GUID 作为主键和/或集群键


6
投票

它们被称为唯一标识符


3
投票

如果是集群,请勿使用 uniqueidentifier 作为主键(这是 PK 的默认值)

说真的:使用标准 IDENTITY 来代替


1
投票

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

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

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


1
投票

实际演示,FWIW

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

0
投票

sql server 中的 GUID 通过 UNIQUEIDENTIFIER 数据类型来识别。下面是所需的代码。

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

0
投票

您应该使用唯一标识符 另外,如果您想在插入时自动生成此值,您应该将 (newid()) 写入默认值或绑定设置。就像这里:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.