No MariaDB,
SESSION_USER() é um sinônimo para o USER() função. Ele retorna o nome de usuário e o nome do host MariaDB atuais, fornecidos ao autenticar no MariaDB. Sintaxe
A sintaxe fica assim:
SESSION_USER() Nenhum argumento é necessário ou aceito.
Exemplo
Segue um exemplo para demonstrar:
SELECT SESSION_USER(); Resultado:
+------------------+ | SESSION_USER() | +------------------+ | example@sqldat.com | +------------------+
SESSION_USER() vs CURRENT_USER()
Há também outra função chamada
CURRENT_USER() que faz uma coisa semelhante. No entanto, nem sempre retorna o mesmo resultado que SESSION_USER() . Por exemplo, se nos conectarmos usando
anonymous :mariadb --user="anonymous" Em seguida, execute
SESSION_USER() e CURRENT_USER() :SELECT
SESSION_USER(),
CURRENT_USER; Resultado:
+---------------------+--------------+ | SESSION_USER() | CURRENT_USER | +---------------------+--------------+ | example@sqldat.com | @localhost | +---------------------+--------------+
No entanto, se voltarmos à nossa sessão anterior (na janela do terminal original), cada função retornará os mesmos resultados:
SELECT
SESSION_USER(),
CURRENT_USER; Resultado:
+------------------+------------------+ | SESSION_USER() | CURRENT_USER | +------------------+------------------+ | example@sqldat.com | example@sqldat.com | +------------------+------------------+
Nenhum argumento é aceito
Passando quaisquer argumentos para
SESSION_USER() resulta em um erro:SELECT SESSION_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
SESSION_USER() função (ou USER() e SYSTEM_USER() ) não são seguros para replicação em nível de instrução.