我正尝试在我的表中手动创建一个新用户,但我发现在不引发代码异常的情况下生成"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
发布于 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
不是正确的数据类型。
发布于 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')
https://stackoverflow.com/questions/17274276
复制相似问题