УДАЛЕНИЕ РОЛИ
Синтаксис
DROP ROLE [IF EXISTS] role_name [,role_name ...]
Описание
Оператор DROP ROLE удаляет одну или несколько ролей MariaDB. Для использования этого оператора необходимо иметь глобальное право CREATE USER или право DELETE для базы данных mysql.
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'
Операции по CREATE или DROP для пользователей и ролей, генерируют один и тот же код ошибки.
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
См. также
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/drop-role/