|
我正在尝试在表中手动创建新用户,但是在不引发异常的情况下无法生成“ UniqueIdentifier”类型…
! \+ l$ c' d$ J6 O- {2 L这是我的示例:# W" ]8 k6 {6 y. Z
DECLARE @id uniqueidentifier3 l5 T6 t! H2 d# ?6 L8 v
SET @id = NEWID()
- p5 f1 B! A% k1 tINSERT INTO [dbo].[aspnet_Users]% c! O4 B/ b9 J* @% j
([ApplicationId]6 X0 @$ ~% E/ x+ C& a' w
,[UserId]: ]. d$ b0 z o7 t; |
,[UserName]
) m$ E T* i' o0 J1 v ,[LoweredUserName]+ k2 f: h% ?# D( Q% \6 u, N9 e( Y4 k
,[LastName]* m" W h7 \! ` S, V+ Y8 d' p
,[FirstName]. X: J* ^2 c" J8 L7 ?0 u/ S! i% t& s
,[IsAnonymous]
" |4 h, }3 I) L, t ,[LastActivityDate]
2 m8 X7 I3 X" v3 ` ,[Culture])+ B# g: G B" }, R' W5 h
VALUES
, z9 O2 g& U# Z! E0 I5 v$ c$ u ('ARMS', z5 S" B( G( z
,@id
7 g9 o6 K, i) Y4 w- ? ,'Admin'
) }3 z3 \/ L' f; ~; x. f ,'admin'
8 ?* F0 R3 ]6 I. O `/ M! Z. m+ O( I ,'lastname'* O$ q7 p$ ` T
,'firstname'
) n* T X2 Y7 e ,0
6 ?% L9 o+ ~- |: S ,'2013-01-01 00:00:00'3 g3 q5 y$ n, ]+ n
,'en')6 k& n) t8 I' H5 |. I" U+ X
GO
! h7 A y" `! C6 x7 E, L抛出异常->消息8169,级别16,状态2,行4无法将字符串转换为uniqueidentifier。/ T0 I, `+ Q5 r+ i8 K% ?( l6 K
我使用了NEWID()方法,但是它不起作用…
' Y* x) P' w0 ^% Jhttp://www.dailycoding.com/Posts/generate_new_guid_uniqueidentifier_in_sql_server.aspx; F/ `# ^: ]2 R$ d7 V# [
; ]+ y- e/ `2 I0 n! W7 l; h- [1 P
解决方案:7 r: U0 E1 o4 z0 m* ^
7 f: T/ U$ m) j5 @, K
( s* s5 L+ P' C5 I+ ?
+ m' b, I6 \1 E/ f ApplicationId必须为类型UniqueIdentifier。如果您执行以下操作,您的代码可以正常工作:
1 p9 @. v8 Z+ _* I4 n; B, WDECLARE @TTEST TABLE
( Z; p/ p' N5 e: g' ?(
+ g" g+ ] w0 k6 e TEST UNIQUEIDENTIFIER2 U4 [+ }$ _5 k3 N
)4 \, I; p0 x- D9 w
DECLARE @UNIQUEX UNIQUEIDENTIFIER2 C5 f; y$ C' j* C0 I
SET @UNIQUEX = NEWID();
: f# f* u; o& ^INSERT INTO @TTEST
. q8 B8 p) J2 M+ j \5 L# c(TEST)4 K- I9 t' M2 Z$ m5 R- i7 X
VALUES
) m H( {3 c& ], _(@UNIQUEX);6 b, q7 \2 b+ Q7 x4 T
SELECT * FROM @TTEST' ?% f/ K6 G6 v' `
因此,我可以肯定地说这ApplicationId不是正确的数据类型。 |
|