En MariaDB, SESSION_USER() es un sinónimo de USER() función. Devuelve el nombre de usuario y el nombre de host actuales de MariaDB, proporcionados al autenticarse en MariaDB.
Sintaxis
La sintaxis es así:
SESSION_USER() No se requieren ni se aceptan argumentos.
Ejemplo
Aquí hay un ejemplo para demostrarlo:
SELECT SESSION_USER(); Resultado:
+------------------+ | SESSION_USER() | +------------------+ | example@sqldat.com | +------------------+
SESSION_USER() frente a CURRENT_USER()
También hay otra función llamada CURRENT_USER() que hace algo similar. Sin embargo, no siempre devuelve el mismo resultado que SESSION_USER() .
Por ejemplo, si nos conectamos usando anonymous :
mariadb --user="anonymous"
Luego ejecuta SESSION_USER() y CURRENT_USER() :
SELECT
SESSION_USER(),
CURRENT_USER; Resultado:
+---------------------+--------------+ | SESSION_USER() | CURRENT_USER | +---------------------+--------------+ | example@sqldat.com | @localhost | +---------------------+--------------+
Sin embargo, si volvemos a nuestra sesión anterior (en la ventana de terminal original), cada función devuelve los mismos resultados:
SELECT
SESSION_USER(),
CURRENT_USER; Resultado:
+------------------+------------------+ | SESSION_USER() | CURRENT_USER | +------------------+------------------+ | example@sqldat.com | example@sqldat.com | +------------------+------------------+
No se aceptan argumentos
Pasar argumentos a SESSION_USER() da como resultado un error:
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
Declaraciones usando SESSION_USER() función (o USER() y SYSTEM_USER() ) no son seguros para la replicación a nivel de instrucción.