sql >> Databáze >  >> RDS >> MariaDB

MariaDB CURRENT_USER() Vysvětleno

V MariaDB, CURRENT_USER() je vestavěná funkce, která vrací kombinaci uživatelského jména a názvu hostitele pro účet MariaDB, který server použil k ověření aktuálního klienta.

Syntaxe

Funkci lze volat se závorkami nebo bez nich:

CURRENT_USER
CURRENT_USER()

Nejsou vyžadovány ani přijímány žádné argumenty.

Příklad

Zde je příklad k demonstraci:

SELECT CURRENT_USER();

Výsledek:

+------------------+
| CURRENT_USER()   |
+------------------+
| [email protected] |
+------------------+

Bez závorek

Jak již bylo zmíněno, CURRENT_USER() funkci lze volat se závorkami nebo bez nich.

Zde je příklad bez závorek:

SELECT CURRENT_USER;

Výsledek:

+------------------+
| CURRENT_USER     |
+------------------+
| [email protected] |
+------------------+

Stejný výsledek.

Anonymní uživatel

Zde je příklad toho, co se stane, když se připojíte jako anonymní.

Připojte se pomocí anonymous :

mariadb --user="anonymous"

Spusťte CURRENT_USER :

SELECT CURRENT_USER;

Výsledek:

+--------------+
| CURRENT_USER |
+--------------+
| @localhost   |
+--------------+

CURRENT_USER() vs USER()

CURRENT_USER() funkce nevrací vždy stejný výsledek jako USER() funkce (a její synonyma SYSTEM_USER() a SESSION_USER() ).

Příklad:

SELECT 
    CURRENT_USER,
    USER(),
    SYSTEM_USER(),
    SESSION_USER();

Výsledek:

+--------------+---------------------+---------------------+---------------------+
| CURRENT_USER | USER()              | SYSTEM_USER()       | SESSION_USER()      |
+--------------+---------------------+---------------------+---------------------+
| @localhost   | [email protected] | [email protected] | [email protected] |
+--------------+---------------------+---------------------+---------------------+

Nepřijímáme žádné argumenty

Předání jakýchkoli argumentů do CURRENT_USER() výsledkem je chyba:

SELECT CURRENT_USER(1);

Výsledek:

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. MariaDB Server 10.0.33 je nyní k dispozici

  2. Udělte oprávnění pro konkrétní databázi v PostgreSQL

  3. Zamykání a výkon

  4. Spouštěče události ROLLBACK v postgresql