В MariaDB, CURRENT_USER()
е вградена функция, която връща комбинацията от потребителско име и име на хост за акаунта в MariaDB, който сървърът е използвал за удостоверяване на текущия клиент.
Синтаксис
Функцията може да бъде извикана със или без скоби:
CURRENT_USER
CURRENT_USER()
Не се изискват или приемат аргументи.
Пример
Ето пример за демонстрация:
SELECT CURRENT_USER();
Резултат:
+------------------+ | CURRENT_USER() | +------------------+ | [email protected] | +------------------+
Без скоби
Както споменахме, CURRENT_USER()
функцията може да бъде извикана със или без скоби.
Ето пример без скоби:
SELECT CURRENT_USER;
Резултат:
+------------------+ | CURRENT_USER | +------------------+ | [email protected] | +------------------+
Същият резултат.
Анонимен потребител
Ето пример за това какво се случва, когато сте свързани като анонимен.
Свържете се с помощта на anonymous
:
mariadb --user="anonymous"
Изпълнете CURRENT_USER
:
SELECT CURRENT_USER;
Резултат:
+--------------+ | CURRENT_USER | +--------------+ | @localhost | +--------------+
CURRENT_USER()
срещу USER()
CURRENT_USER()
функцията не винаги връща същия резултат като USER()
функция (и нейните синоними SYSTEM_USER()
и SESSION_USER()
).
Пример:
SELECT
CURRENT_USER,
USER(),
SYSTEM_USER(),
SESSION_USER();
Резултат:
+--------------+---------------------+---------------------+---------------------+ | CURRENT_USER | USER() | SYSTEM_USER() | SESSION_USER() | +--------------+---------------------+---------------------+---------------------+ | @localhost | [email protected] | [email protected] | [email protected] | +--------------+---------------------+---------------------+---------------------+
Не се приемат аргументи
Подаване на всякакви аргументи към CURRENT_USER()
води до грешка:
SELECT CURRENT_USER(1);
Резултат:
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