Skip to main content

CHECK GRANT Statement

The CHECK GRANT query is used to check whether the current user/role has been granted a specific privilege.

Syntax

The basic syntax of the query is as follows:

CHECK GRANT privilege[(column_name [,...])] [,...] ON {db.table[*]|db[*].*|*.*|table[*]|*}
  • privilege — Type of privilege.

Examples

If the user used to be granted the privilege, the responsecheck_grant will be 1. Otherwise, the response check_grant will be 0.

If table_1.col1 exists and current user is granted by privilege SELECT/SELECT(con) or role(with privilege), the response is 1.

CHECK GRANT SELECT(col1) ON table_1;
┌─result─┐
│ 1 │
└────────┘

If table_2.col2 doesn't exists, or current user is not granted by privilege SELECT/SELECT(con) or role(with privilege), the response is 0.

CHECK GRANT SELECT(col2) ON table_2;
┌─result─┐
│ 0 │
└────────┘

Wildcard

Specifying privileges you can use asterisk (*) instead of a table or a database name. Please check WILDCARD GRANTS for wildcard rules.