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

MariaDB USER() Explicado


No MariaDB, USER() é uma função interna que retorna o nome de usuário e o nome do host MariaDB atuais, fornecidos ao autenticar no MariaDB.

Sintaxe


A sintaxe fica assim:
USER()

Nenhum argumento é necessário ou aceito.

Exemplo


Segue um exemplo para demonstrar:
SELECT USER();

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

USER() vs CURRENT_USER()


O USER() função nem sempre retorna o mesmo resultado que o CURRENT_USER() função.

Por exemplo, se nos conectarmos usando anonymous :
mariadb --user="anonymous"

Em seguida, execute USER() e CURRENT_USER() :
SELECT 
    USER(),
    CURRENT_USER;

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

Nenhum argumento é aceito


Passando quaisquer argumentos para USER() resulta em um erro:
SELECT USER(123);

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 '123)' at line 1

Declarações usando o USER() função ou um de seus sinônimos (SYSTEM_USER() e SESSION_USER() ) não são seguros para replicação em nível de instrução.