跳转到主要内容
CHECK GRANT 查询用于检查当前用户/角色是否已被授予某项特定权限。

语法

查询的基本语法如下:
CHECK GRANT privilege[(column_name [,...])] [,...] ON {db.table[*]|db[*].*|*.*|table[*]|*}
  • privilege — 权限类型。

示例

如果该用户此前已被授予该权限,则 check_grant 的返回值为 1。否则,check_grant 的返回值为 0 如果 table_1.col1 存在,且当前用户被授予了权限 SELECT/SELECT(con) 或被授予了拥有该权限的角色,则返回值为 1
CHECK GRANT SELECT(col1) ON table_1;
┌─result─┐
│      1 │
└────────┘
如果 table_2.col2 不存在,或者当前用户未被授予 SELECT/SELECT(con) 权限或具有该权限的角色,则返回 0
CHECK GRANT SELECT(col2) ON table_2;
┌─result─┐
│      0 │
└────────┘

通配符

指定权限时,可以使用星号 (*) 代替表名或数据库名。有关通配符规则,请参见 WILDCARD GRANTS
最后修改于 2026年6月10日