我想使用SQL SERVER 2008
构建一个员工表,在我的表中我希望每个员工都有一个ID。
我听说 GUID ,我有点理解它是一种数据类型,但我无法使用它
你可以告诉我使用它的方法...... 顺便说一下,我想说我想要这样的东西:CREATE TABLE Employees (
ID guid PRIMARY KEY,
Name NVARCHAR(50) NOT NULL
)
我该怎么办?因为我想从中受益,但我无法知道如何做到这一点
答案 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