我需要在SQL中创建一个ID作为Guid(没有身份)我该怎么做?我将Id定义为uniqueidentifier,但在Db中保存的是00000000-0000-0000-0000-000000000000
答案 0 :(得分:21)
试试这个:
SELECT NEWID()
希望帮助你
答案 1 :(得分:4)
什么是GUID? GUID是16字节的二进制SQL Server数据类型,在表,数据库和服务器之间是全局唯一的。 GUID代表全局唯一标识符,可与UNIQUEIDENTIFIER互换使用。
要在SQL Server中创建GUID,请使用NEWID()函数,如下所示:
SELECT NEWID()
多次执行上面的SQL行,每次都会看到一个不同的值。这是因为NEWID()函数每次执行时都会生成一个唯一值。
要声明GUID类型的变量,使用的关键字为UNIQUEIDENTIFIER,如以下脚本中所述:
DECLARE @UNI UNIQUEIDENTIFIER;
SET @UNI = NEWID();
SELECT @UNI;
如前所述,GUID值在表,数据库和服务器之间是唯一的。 GUID可以视为全局主键。本地主键用于唯一标识表中的记录。另一方面,GUID可用于跨表,数据库和服务器唯一地标识记录。
例如:
create table AspNetUsers
(
Id UNIQUEIDENTIFIER PRIMARY KEY default NEWID(),
Name nvarchar(200)
)
INSERT INTO AspNetUsers VALUES (default,'Shane')
INSERT INTO AspNetUsers VALUES (default,'Jonny')
select * from AspNetUsers
答案 2 :(得分:0)
手动创建的aspnet角色
DECLARE @ID UNIQUEIDENTIFIER
SET @ID = NEWID()
DECLARE @STAMP UNIQUEIDENTIFIER
SET @STAMP = NEWID()
INSERT INTO [dbo].[AspNetRoles]
([Id]
,[Name]
,[NormalizedName]
,[ConcurrencyStamp])
VALUES
(@ID
,'Admin'
,'ADMIN'
,@STAMP)