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() | +------------------+ | [email protected] | +------------------+
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 | +------------------+ | [email protected] | +------------------+
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 | [email protected] | [email protected] | [email protected] | +--------------+---------------------+---------------------+---------------------+
Ż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