MariaDB
 sql >> база данни >  >> RDS >> MariaDB

MariaDB CURRENT_USER() Обяснено

В 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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Поправка:Достъпът е отказан за потребител „root“@“localhost“ в MariaDB

  2. Как EXTRACT() работи в MariaDB

  3. Как да подобрим производителността на репликация в MySQL или MariaDB Galera клъстер

  4. Как TIMESTAMPDIFF() работи в MariaDB

  5. Как работи RLIKE в MariaDB