W MariaDB, CURRENT_USER() to wbudowana funkcja, która zwraca kombinację nazwy użytkownika i nazwy hosta dla konta MariaDB, którego serwer używał do uwierzytelniania bieżącego klienta.
Składnia
Funkcję można wywołać z nawiasami lub bez:
CURRENT_USER
CURRENT_USER() Żadne argumenty nie są wymagane ani akceptowane.
Przykład
Oto przykład do zademonstrowania:
SELECT CURRENT_USER(); Wynik:
+------------------+ | CURRENT_USER() | +------------------+ | example@sqldat.com | +------------------+
Bez nawiasów
Jak wspomniano, CURRENT_USER() funkcja może być wywołana z nawiasami lub bez.
Oto przykład bez nawiasów:
SELECT CURRENT_USER; Wynik:
+------------------+ | CURRENT_USER | +------------------+ | example@sqldat.com | +------------------+
Ten sam wynik.
Anonimowy użytkownik
Oto przykład tego, co się dzieje, gdy połączenie jest anonimowe.
Połącz używając anonymous :
mariadb --user="anonymous"
Uruchom CURRENT_USER :
SELECT CURRENT_USER; Wynik:
+--------------+ | CURRENT_USER | +--------------+ | @localhost | +--------------+
CURRENT_USER() vs USER()
CURRENT_USER() funkcja nie zawsze zwraca ten sam wynik co USER() funkcja (i jej synonimy SYSTEM_USER() i SESSION_USER() ).
Przykład:
SELECT
CURRENT_USER,
USER(),
SYSTEM_USER(),
SESSION_USER(); Wynik:
+--------------+---------------------+---------------------+---------------------+ | CURRENT_USER | USER() | SYSTEM_USER() | SESSION_USER() | +--------------+---------------------+---------------------+---------------------+ | @localhost | example@sqldat.com | example@sqldat.com | example@sqldat.com | +--------------+---------------------+---------------------+---------------------+
Żadne argumenty nie są akceptowane
Przekazywanie dowolnych argumentów do CURRENT_USER() powoduje błąd:
SELECT CURRENT_USER(1); Wynik:
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 '1)' at line 1