В MariaDB, CURRENT_USER() е вградена функция, която връща комбинацията от потребителско име и име на хост за акаунта в MariaDB, който сървърът е използвал за удостоверяване на текущия клиент.
Синтаксис
Функцията може да бъде извикана със или без скоби:
CURRENT_USER
CURRENT_USER() Не се изискват или приемат аргументи.
Пример
Ето пример за демонстрация:
SELECT CURRENT_USER(); Резултат:
+------------------+ | CURRENT_USER() | +------------------+ | example@sqldat.com | +------------------+
Без скоби
Както споменахме, CURRENT_USER() функцията може да бъде извикана със или без скоби.
Ето пример без скоби:
SELECT CURRENT_USER; Резултат:
+------------------+ | CURRENT_USER | +------------------+ | example@sqldat.com | +------------------+
Същият резултат.
Анонимен потребител
Ето пример за това какво се случва, когато сте свързани като анонимен.
Свържете се с помощта на 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 | example@sqldat.com | example@sqldat.com | example@sqldat.com | +--------------+---------------------+---------------------+---------------------+
Не се приемат аргументи
Подаване на всякакви аргументи към 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