CREATE ROLE

MariaDB starting with 10.0.5

I ruoli sono stati introdotti in MariaDB 10.0.5.

Sintassi

CREATE [OR REPLACE] ROLE [IF NOT EXISTS] role 
  [WITH ADMIN 
    {CURRENT_USER | CURRENT_ROLE | utente | ruolo}]

Spiegazione

L'istruzione CREATE ROLE crea uno o più ruoli in MariaDB. Per usarla, occorre disporre del privilegio globale CREATE USER o del privilegio INSERT sul database mysql. Per ogni account, CREATE ROLE crea una nuova riga nella tabella mysql.user che non ha permessi, con il campo is_role impostato a Y. Crea anche un record nella tabella mysql.roles_mapping.

Se uno dei ruoli specificati esiste già, si ottiene un ERROR 1396 (HY000). Se avviene un errore, CREATE ROLE crea i ruoli che non generano errori.

PUBLIC e NONE sono riservati e non possono essere usati come nomi di ruoli.

La clausola opzionale WITH ADMIN determina se l'utente corrente, il ruolo corrente, o un altro utente o ruolo, ha l'uso del ruolo creato. Se la clausola è omessa, WITH ADMIN CURRENT_USER è il valore predefinito, il che significa che l'utente corrente sarà in grado di assegnare questo ruolo ad altri.

Esempio

CREATE ROLE journalist;

CREATE ROLE developer WITH ADMIN lorinda;

OR REPLACE e IF NOT EXISTS:

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

CREATE OR REPLACE ROLE journalist;
Query OK, 0 rows affected (0.00 sec)

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

SHOW WARNINGS;
+-------+------+---------------------------------------------------+
| Level | Code | Message                                           |
+-------+------+---------------------------------------------------+
| Note  | 1975 | Can't create role 'journalist'; it already exists |
+-------+------+---------------------------------------------------+

Commenti

Sto caricando i commenti......
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.