In MariaDB, USER() is een ingebouwde functie die de huidige MariaDB-gebruikersnaam en hostnaam retourneert, gegeven bij authenticatie bij MariaDB.
Syntaxis
De syntaxis gaat als volgt:
USER() Er zijn geen argumenten vereist of geaccepteerd.
Voorbeeld
Hier is een voorbeeld om te demonstreren:
SELECT USER(); Resultaat:
+------------------+ | USER() | +------------------+ | example@sqldat.com | +------------------+
USER() vs CURRENT_USER()
De USER() functie geeft niet altijd hetzelfde resultaat als de CURRENT_USER() functie.
Als we bijvoorbeeld verbinding maken via anonymous :
mariadb --user="anonymous"
Voer vervolgens USER() . uit en CURRENT_USER() :
SELECT
USER(),
CURRENT_USER; Resultaat:
+---------------------+--------------+ | USER() | CURRENT_USER | +---------------------+--------------+ | example@sqldat.com | @localhost | +---------------------+--------------+
Er worden geen argumenten geaccepteerd
Argumenten doorgeven aan USER() resulteert in een fout:
SELECT USER(123); Resultaat:
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
Verklaringen met de USER() functie of een van zijn synoniemen (SYSTEM_USER() en SESSION_USER() ) zijn niet veilig voor replicatie op instructieniveau.