DROP ROLE [IF EXISTS] role_name [,role_name ...]
DROP ROLE does not disable roles for connections which selected them with
SET ROLE. If a role has previously been set as a default role,
DROP ROLE does not remove the record of the default role from the
mysql.user table. If the role is subsequently recreated and granted, it will again be the user's default. Use
SET DEFAULT ROLE NONE to explicitly remove this.
If any of the specified user accounts do not exist,
ERROR 1396 (HY000)
results. If an error occurs,
DROP ROLE will still drop the roles that
do not result in an error. Only one error is produced for all roles which have not been dropped:
ERROR 1396 (HY000): Operation DROP ROLE failed for 'a','b','c'
DROP operations, for both users and roles, produce the same error code.
IF EXISTS clause is used, MariaDB will return a warning instead of an error if the role does not exist.
DROP ROLE journalist;
The same thing using the optional
IF EXISTS clause:
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