比如说一个成绩管理系统,一个表里面有所有学生成绩,但要实现这个学生只能查询自己的成绩,而不能查询他人的成绩(也就是实现权限控制,而不是进行某次具体的查询)
简单给个思路,用户表设置一个字段,标识老师或者是学生身份,登录以后获取身份认证;
如果是学生,直接用楼上的那些简单查询,where userid=‘登录用户id’
如果是老师,则根据老师和学生的关系下查询出老师所属的所有学生,
这是个简单的处理方法
如果想要实现复杂的权限控制,那就要设计权限角色用户关系了
select * from table where username = 当前用户
1楼是没问题啊,登录用户只能查询自己的,可以做到的
你说的意思就是1L的意思,你的意思应该是某位学生登陆后只能看到自己成绩信息
其实在数据库处理的就是select 成绩 from 成绩表 where user = 该学生
单个学生条件查询,select * from 成绩表名 where 学生名列名=“学生名字”
我觉得题主是想控制权限吧,而不是做某一个用的查询。
select 成绩 from 表 where 姓名='狗蛋';
首先。。你这是一个系统,有应用层的权限管理逻辑,数据库底层层面只能实现数据查询。数据库本身不好管理权限,用户登录信息都在前台应用信息中,在前台做权限控制就可以了,后台能查什么都是前端告知的,换句话说,select * from t where name=张三,这个语句本身就是控制只能查某人数据的控制了