大家好,我试图手动创建一个新的用户在我的表,但不可能生成一个“唯一标识符”类型,而不会引发异常…
这是我的例子:
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','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
解决方法
ApplicationId必须是UniqueIdentifier类型.如果你的代码工作正常:
DECLARE @TTEST TABLE ( TEST UNIQUEIDENTIFIER ) DECLARE @UNIQUEX UNIQUEIDENTIFIER SET @UNIQUEX = NEWID(); INSERT INTO @TTEST (TEST) VALUES (@UNIQUEX); SELECT * FROM @TTEST
因此,我可以假定ApplicationId不是正确的数据类型是安全的.