开发者社区 问答 正文

请问为什么RBAC模型无法在MySQL中建立完整表?

按照RBAC模型的定义,我计划在MySQL中建立了5张表,分别是用户表、角色表、权限表、用户角色表和角色权限表。其对应MySQL下的SQL代码如下。
5
6
现在比较奇怪的问题是,当用户角色表先创建时,再创建角色权限表时,MySQL会抛出错误:Error Code: 1022. Can't write duplicate key in table rbac_R2P。同理,若是先创建角色权限表再创建用户角色表,也会抛出类似错误,只是表名变成了rbac_U2R。在此麻烦一下各位,帮我解答一下

展开
收起
落地花开啦 2016-02-14 10:31:55 3374 分享 版权
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    外键名称重复了吧?
    rbac_U2R包含CONSTRAINT roleId
    rbac_R2P也包含CONSTRAINT roleId

    2019-07-17 18:42:28
    赞同 展开评论