V MariaDB, USER() je vestavěná funkce, která vrací aktuální uživatelské jméno MariaDB a název hostitele zadané při ověřování do MariaDB.
Syntaxe
Syntaxe vypadá takto:
USER() Nejsou vyžadovány ani přijímány žádné argumenty.
Příklad
Zde je příklad k demonstraci:
SELECT USER(); Výsledek:
+------------------+ | USER() | +------------------+ | example@sqldat.com | +------------------+
USER() vs CURRENT_USER()
USER() funkce nevrací vždy stejný výsledek jako CURRENT_USER() funkce.
Pokud se například připojíme pomocí anonymous :
mariadb --user="anonymous"
Poté spusťte USER() a CURRENT_USER() :
SELECT
USER(),
CURRENT_USER; Výsledek:
+---------------------+--------------+ | USER() | CURRENT_USER | +---------------------+--------------+ | example@sqldat.com | @localhost | +---------------------+--------------+
Nepřijímáme žádné argumenty
Předání jakýchkoli argumentů do USER() výsledkem je chyba:
SELECT USER(123); Výsledek:
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
Příkazy pomocí USER() funkce nebo jedno z jejích synonym (SYSTEM_USER() a SESSION_USER() ) nejsou bezpečné pro replikaci na úrovni příkazů.