关于数据库结构的一个简单问题。 我必须管理多个角色,但只需要一个默认角色,即用户自动分配给。
如何在数据库中存储此默认容差?那样的东西?
ID | Name | IsDefault
-----------------------------
1 | Admin | no
2 | User | yes
如果是这样,您如何检查只有一个角色被标记为默认角色?
由于
答案 0 :(得分:1)
对于Oracle,您可以检查IsDefault
列上的约束,因此它可以只是yes
或no
。然后
CREATE UNIQUE INDEX IDXU_TABLE1_ISDEFAULT ON table1(CASE WHEN IsDefault ='yes' THEN IsDefault ELSE NULL END);