日期:2014-05-17  浏览次数:20424 次

大家十一快乐!在线请教角色权限系统中一关联的SQL写法!
权限表: 
ID(自增) 模块ID 操作ID
1 1 1
2 2 1
3 1 2

角色权限表:
ID(自增) 角色ID 权限ID(来自权限表的主键)
1 1 1  
2 1 2

我现在对权限表中某个模块分配操作的时候,怎么判断该模块相关的操作是否被已有的角色占用?已占用则不能取消,并给出提示,并且只能对未被角色占用的权限记录删除和增加!

比如说:我现在要删除权限表中模块ID=1对应的二条记录(1和3)时,给出提示:该模块的操作ID=1已被角色占用,不能删除.同时删除不在角色权限表中出现的权限ID=3的记录.

------解决方案--------------------
你删除模块时能得到对应的ID吧,再通过刚才的ID从角色权限表里查询ID=权限ID的记录是否为空,如果为空则可以删除,不为空则提示,已被占用!
------解决方案--------------------
SELECT *
FROM 角色权限表
INNER JOIN 权限表
ON 权限表。id=角色权限表。权限ID
Where 限表。id=‘1’

是不是我这样理解。
——
我怎么感觉好像少了一个字段是的!错觉吗?