20.grant的用法(权限的授权)

grant的用法

格式:

grant [权限1],[权限2]
[on <对象类型> <对象名>]
to [用户1],[用户2]
[with grant option]

不同对象类型允许的操作权限

对象对象类型操作权限
属性列与视图tableselect, insert, update, delete, ALL PRIVILEGES
基本表tableselect, insert, update, delete, alter, index, all privileges

对属性列和视图的操作权限有:查询(select),插入(insert),修改(update),删除(delete)以及四种权限(all privileges)
对基本不的操作权限有:查询(select),插入(insert),修改(update),删除(delete),修改表(alter)和建立索引(index)以及六种权限的总和(all privileges)。

如果指定了with grant option子句,则获得某种权限的用户还可以把这种权限在赋予其他的用户。

这里,让我们重新登录回我们的Windows身份验证。 然后赋予User1和User2对表Students的全部操作。

grant all privileges
on Students
to User1,User2

显示如下:
在这里插入图片描述
对于2014版本,all privileges已经不能用了,因为不安全。

下面说点实际点的案例。
1.比如把Reports表的查询权限给所有用户。
使用:

grant select
on Reports
to public

2.把查询Students表和修改Sname的权限授予User3.
使用:

grant select,update(Sname)
on Students
to User3

3.把对表Reports的insert权限赋予User4,并允许他把该权限给其他用户。

grant insert
on Reports
to User4

执行完后,User4将可以把自己的insert权限赋予其他的用户。

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安卓系统中,当我们使用request.grant方法申请权限时,有时会出现应用闪退的情况。闪退指的是应用程序在运行过程中突然关闭并回到桌面,无法正常使用。 造成安卓应用闪退的原因是多种多样的,其中一种常见的情况是申请权限的代码逻辑错误。当我们调用request.grant方法时,必须确保在合适的时机申请合适的权限。比如,在应用启动时就申请了某项权限,但并不使用该权限的功能,就可能导致闪退现象的出现。在申请权限之前,最好先判断一下是否已经授权,以避免重复申请。 另外,权限是敏感的操作,安卓系统要求开发者必须在清单文件中声明需要使用的权限,并且在运行时还要动态申请用户授权。如果我们申请的权限过多,而且没有给用户合理的解释和使用场景,用户可能会拒绝授权,导致应用闪退。因此,在使用request.grant方法之前,我们需要提供必要的解释和说明,让用户理解我们申请权限的合理性和必要性。 此外,还有一种情况是申请权限的方法调用位置不正确。权限申请方法需要在Activity或Fragment等可视界面的生命周期方法中调用,比如onCreate、onStart、onResume等,而不可在其他地方调用。如果我们错误地在后台线程或其他非UI线程中调用权限申请方法,就可能导致闪退。 综上所述,安卓应用闪退与权限申请的相关性密切,我们需要正确地使用request.grant方法,确保权限申请的时机、方法调用位置以及权限合理性。这样才能避免闪退问题的发生,保证应用的正常使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值