Как я могу использовать тип данных GUID в SQL Server 2008? - PullRequest
16 голосов
/ 04 ноября 2010

Я хочу построить таблицу сотрудников, используя SQL SERVER 2008, и в своей таблице я хочу иметь идентификатор для каждого сотрудника.

Я слышал о GUID , и я вроде понялчто это тип данных, но я не смог его использовать

не могли бы вы показать мне способ его использования ...

кстати, допустим, я хочу что-то вроде этого:

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

Как я могу это сделать ??потому что я хочу извлечь из этого пользу, но я не мог понять, как это сделать

Ответы [ 6 ]

23 голосов
/ 04 ноября 2010

Это не называется GUID в SQL Server. Это называется uniqueidentifier

13 голосов
/ 04 ноября 2010

Тип называется UNIQUEIDENTIFIER, как уже отмечали другие.Но я думаю, что вы обязательно должны прочитать эту статью, прежде чем продолжить: GUID как ПЕРВИЧНЫЕ КЛЮЧИ и / или ключ кластеризации

5 голосов
/ 04 ноября 2010

Они называются uniqueidentifier

2 голосов
/ 04 ноября 2010

Не использовать uniqueidentifier в качестве первичного ключа при кластеризации (по умолчанию для PK)

Серьезно: используйте стандартную IDENTITY вместо

1 голос
/ 03 августа 2016

Практическая демонстрация, FWIW

DECLARE @guid1 AS uniqueidentifier
SET @guid1 = NEWID()
SELECT @guid1
0 голосов
/ 05 ноября 2010

Вы также можете рассмотреть возможность использования NEWSEQUENCIALID в качестве значения по умолчанию для столбца идентификатора, поскольку это будет быстрее, чем использование NEWID () для генерации идентификаторов GUID.

НО (по той же ссылке выше): -

Если проблема касается конфиденциальности, не используйте эту функцию.Можно угадать значение следующего сгенерированного GUID и, следовательно, получить доступ к данным, связанным с этим GUID.

...