I MariaDB, USER()
er en indbygget funktion, der returnerer det aktuelle MariaDB-brugernavn og værtsnavn, givet ved godkendelse til MariaDB.
Syntaks
Syntaksen ser sådan ud:
USER()
Ingen argumenter er påkrævet eller accepteret.
Eksempel
Her er et eksempel til demonstration:
SELECT USER();
Resultat:
+------------------+ | USER() | +------------------+ | [email protected] | +------------------+
USER()
vs CURRENT_USER()
USER()
funktion returnerer ikke altid det samme resultat som CURRENT_USER()
funktion.
For eksempel, hvis vi forbinder ved hjælp af anonymous
:
mariadb --user="anonymous"
Kør derefter USER()
og CURRENT_USER()
:
SELECT
USER(),
CURRENT_USER;
Resultat:
+---------------------+--------------+ | USER() | CURRENT_USER | +---------------------+--------------+ | [email protected] | @localhost | +---------------------+--------------+
Ingen argumenter accepteres
Sender eventuelle argumenter til USER()
resulterer i en fejl:
SELECT USER(123);
Resultat:
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
Udsagn ved hjælp af USER()
funktion eller et af dets synonymer (SYSTEM_USER()
og SESSION_USER()
) er ikke sikre til replikering på sætningsniveau.