MariaDB
 sql >> Database >  >> RDS >> MariaDB

Spiegazione di MariaDB CURRENT_USER()

In MariaDB, CURRENT_USER() è una funzione integrata che restituisce la combinazione di nome utente e nome host per l'account MariaDB utilizzato dal server per autenticare il client corrente.

Sintassi

La funzione può essere chiamata con o senza parentesi:

CURRENT_USER
CURRENT_USER()

Nessun argomento è richiesto o accettato.

Esempio

Ecco un esempio da dimostrare:

SELECT CURRENT_USER();

Risultato:

+------------------+
| CURRENT_USER()   |
+------------------+
| [email protected] |
+------------------+

Senza parentesi

Come accennato, il CURRENT_USER() la funzione può essere chiamata con o senza parentesi.

Ecco un esempio senza parentesi:

SELECT CURRENT_USER;

Risultato:

+------------------+
| CURRENT_USER     |
+------------------+
| [email protected] |
+------------------+

Stesso risultato.

Utente anonimo

Ecco un esempio di cosa succede quando si è connessi come anonimi.

Connettiti usando anonymous :

mariadb --user="anonymous"

Esegui CURRENT_USER :

SELECT CURRENT_USER;

Risultato:

+--------------+
| CURRENT_USER |
+--------------+
| @localhost   |
+--------------+

CURRENT_USER() rispetto a USER()

Il CURRENT_USER() la funzione non restituisce sempre lo stesso risultato di USER() funzione (e i suoi sinonimi SYSTEM_USER() e SESSION_USER() ).

Esempio:

SELECT 
    CURRENT_USER,
    USER(),
    SYSTEM_USER(),
    SESSION_USER();

Risultato:

+--------------+---------------------+---------------------+---------------------+
| CURRENT_USER | USER()              | SYSTEM_USER()       | SESSION_USER()      |
+--------------+---------------------+---------------------+---------------------+
| @localhost   | [email protected] | [email protected] | [email protected] |
+--------------+---------------------+---------------------+---------------------+

Nessun argomento è accettato

Passando qualsiasi argomento a CURRENT_USER() restituisce un errore:

SELECT CURRENT_USER(1);

Risultato:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '1)' at line 1