MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

MariaDB CURRENT_USER() explicado


No MariaDB, CURRENT_USER() é uma função interna que retorna a combinação de nome de usuário e nome de host para a conta MariaDB que o servidor usou para autenticar o cliente atual.

Sintaxe


A função pode ser chamada com ou sem os parênteses:
CURRENT_USER
CURRENT_USER()

Nenhum argumento é necessário ou aceito.

Exemplo


Segue um exemplo para demonstrar:
SELECT CURRENT_USER();

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

Sem parênteses


Como mencionado, o CURRENT_USER() A função pode ser chamada com ou sem parênteses.

Aqui está um exemplo sem parênteses:
SELECT CURRENT_USER;

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

Mesmo resultado.

Usuário anônimo


Aqui está um exemplo do que acontece quando conectado como anônimo.

Conecte-se usando anonymous :
mariadb --user="anonymous"

Execute CURRENT_USER :
SELECT CURRENT_USER;

Resultado:
+--------------+
| CURRENT_USER |
+--------------+
| @localhost   |
+--------------+

CURRENT_USER() vs USER()


O CURRENT_USER() função nem sempre retorna o mesmo resultado que USER() função (e seus sinônimos SYSTEM_USER() e SESSION_USER() ).

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

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

Nenhum argumento é aceito


Passando quaisquer argumentos para CURRENT_USER() resulta em um erro:
SELECT CURRENT_USER(1);

Resultado:
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