我有3个表,User,AccessControlKey和AccessControlGroup。可以将用户分配给多个产品。可以将AccessControlKeys分配给多个AccessControlGroup。但是,一个用户不能多次分配给他一个AccessControlKey,即,对于一个分配给他的多个AccessControlGroup中的一个用户,AccessControlKey在分配给他的AccessContolGroups中必须是唯一的。
对于访问控制键和用户之间的多对多关系以及访问控制键和访问控制组之间的多对多关系,我有两个单独的表。以下是3个表和关系映射表的表说明。如何为一个用户跨多个AccessControlGroup实施唯一的AccessControlKey?
http://pastebin.com/EzL9QUGg
最佳答案
根据您的描述,我猜每个User
都有一个AccessControlKey
,并且密钥可以属于多个AccessControlGroup
。
我可能会更改数据结构,并将您的User_BelongsTo_AccessControlGroup
更改为User_AccessControlKey
(将User
链接到AccessControlKey
);您可以在此处实施唯一性。您仍然可以通过此表和User
进入AccessControlGroup
的AccessControlKey_BelongsTo_AccessControlGroup
。
关于mysql - 如何比较多个表的查询结果?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24955478/