我有一个SQL Server数据库,其中包含一个Users
表,其中包含以下列:
我想在我的系统中添加用户层次结构。这意味着,一个用户将成为“管理员”。其他人将是管理员或其他用户的子女。
所以,我想添加一个新专栏:
到Users
表。管理员用户将是层次结构的顶级值。其他将放在它下面。例如:
\b2566df8-9129-405b-a0e6-a56da3b49c5a\79336162-022e-495c-8655-64de1abe556c
\admin-id\normal-user-id
我的问题是hierarchyid列不接受nvarchar(128)
(我的用户ID)作为有效值。因此,我的管理员用户无法在[ParentColumn]
中获得值“\ b2566df8-9129-405b-a0e6-a56da3b49c5a”。
使用SQL Server Management Studio时出现的错误:
尝试过这些价值观:
一种可能的解决方案是为每个用户创建另一个唯一ID。但是,现在创建一个将被hierarchyid列接受的用户标识。但是,我想避免使用此解决方案并使用原始用户ID。
如何解决这个问题?