This is a read-only copy of the MariaDB Knowledgebase generated on 2024-12-03. For the latest, interactive version please visit https://mariadb.com/kb/.

DROP ROLE

语法

DROP ROLE [IF EXISTS] role_name [,role_name ...]

描述

DROP ROLE 语句删除一个或多个 MariaDB roles。要使用此语句,您必须具有全局 CREATE USER 权限或 mysql 数据库的 DELETE 权限。

DROP ROLE 不会为以 SET ROLE 选择它们的连接禁用角色。如果角色先前已设置为 默认角色,则 DROP ROLE 不会从 mysql.user 表中删除默认角色的记录。如果随后重新创建并授予该角色,则它将再次成为用户的默认角色。使用 SET DEFAULT ROLE NONE 显式删除此内容。

如果指定的任何用户帐户不存在,则会出现 ERROR 1396 (HY000)。如果出现错误,则 DROP ROLE 仍将删除未导致错误的角色。对于未删除的所有角色,只会产生一个错误:

ERROR 1396 (HY000): Operation DROP ROLE failed for 'a','b','c'

对于用户和角色的失败 CREATEDROP 操作,会产生相同的错误代码。

IF EXISTS

如果使用了 IF EXISTS 子句,则 MariaDB 将返回一个警告而不是错误,如果该角色不存在。

示例

DROP ROLE journalist;

使用可选的 IF EXISTS 子句的相同内容:

DROP ROLE journalist;
ERROR 1396 (HY000): Operation DROP ROLE failed for 'journalist'

DROP ROLE IF EXISTS journalist;
Query OK, 0 rows affected, 1 warning (0.00 sec)

Note (Code 1975): Can't drop role 'journalist'; it doesn't exist

另请参见

Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.