首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在SQL Server中生成并手动插入唯一标识符?

如何在SQL Server中生成并手动插入唯一标识符?
EN

Stack Overflow用户
提问于 2013-06-24 19:22:52
回答 2查看 136.4K关注 0票数 31

我正尝试在我的表中手动创建一个新用户,但我发现在不引发代码异常的情况下生成"UniqueIdentifier“类型是不可能的……

下面是我的例子:

DECLARE @id uniqueidentifier
SET @id = NEWID()

INSERT INTO [dbo].[aspnet_Users]
           ([ApplicationId]
           ,[UserId]
           ,[UserName]
           ,[LoweredUserName]
           ,[LastName]
           ,[FirstName]
           ,[IsAnonymous]
           ,[LastActivityDate]
           ,[Culture])
     VALUES
           ('ARMS'
           ,@id
           ,'Admin'
           ,'admin'
           ,'lastname'
           ,'firstname'
           ,0
           ,'2013-01-01 00:00:00'
           ,'en')
GO

引发此异常->消息8169,级别16,状态2,第4行无法将字符串转换为唯一标识符。

我正在使用NEWID()方法,但它不起作用……

http://www.dailycoding.com/Posts/generate_new_guid_uniqueidentifier_in_sql_server.aspx

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-24 19:31:09

ApplicationId的类型必须为UniqueIdentifier。如果你这样做,你的代码就能正常工作:

DECLARE @TTEST TABLE
(
  TEST UNIQUEIDENTIFIER
)

DECLARE @UNIQUEX UNIQUEIDENTIFIER
SET @UNIQUEX = NEWID();

INSERT INTO @TTEST
(TEST)
VALUES
(@UNIQUEX);

SELECT * FROM @TTEST

因此,我认为可以放心地假定ApplicationId不是正确的数据类型。

票数 43
EN

Stack Overflow用户

发布于 2021-09-14 17:27:07

请检查列数据类型是否应为唯一标识符,以及插入值时是否使用了正确的顺序

INSERT INTO [dbo].[aspnet_Users]
([ApplicationId],[UserId],[UserName],[LoweredUserName],[LastName]
,[FirstName],[IsAnonymous],[LastActivityDate],[Culture])
VALUES ('ARMS',NEWID(),'Admin','admin','lastname','firstname,0
,'2013-01-01 00:00:00','en')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17274276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档