MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

MariaDB CURRENT_USER() erklärt

In MariaDB, CURRENT_USER() ist eine integrierte Funktion, die die Kombination aus Benutzername und Hostname für das MariaDB-Konto zurückgibt, das der Server verwendet hat, um den aktuellen Client zu authentifizieren.

Syntax

Die Funktion kann mit oder ohne die Klammern aufgerufen werden:

CURRENT_USER
CURRENT_USER()

Es sind keine Argumente erforderlich oder akzeptiert.

Beispiel

Hier ist ein Beispiel zur Veranschaulichung:

SELECT CURRENT_USER();

Ergebnis:

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

Ohne Klammern

Wie bereits erwähnt, der CURRENT_USER() Die Funktion kann mit oder ohne Klammern aufgerufen werden.

Hier ist ein Beispiel ohne Klammern:

SELECT CURRENT_USER;

Ergebnis:

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

Gleiches Ergebnis.

Anonymer Benutzer

Hier ist ein Beispiel dafür, was passiert, wenn Sie als anonym verbunden sind.

Verbinden Sie sich mit anonymous :

mariadb --user="anonymous"

Führen Sie CURRENT_USER aus :

SELECT CURRENT_USER;

Ergebnis:

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

CURRENT_USER() vs USER()

Der CURRENT_USER() Die Funktion gibt nicht immer das gleiche Ergebnis zurück wie USER() Funktion (und ihre Synonyme SYSTEM_USER() und SESSION_USER() ).

Beispiel:

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

Ergebnis:

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

Es werden keine Argumente akzeptiert

Übergeben aller Argumente an CURRENT_USER() führt zu einem Fehler:

SELECT CURRENT_USER(1);

Ergebnis:

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