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

MariaDB USER() erklärt

In MariaDB USER() ist eine integrierte Funktion, die den aktuellen MariaDB-Benutzernamen und Hostnamen zurückgibt, die bei der Authentifizierung bei MariaDB angegeben werden.

Syntax

Die Syntax lautet wie folgt:

USER()

Es sind keine Argumente erforderlich oder akzeptiert.

Beispiel

Hier ist ein Beispiel zur Veranschaulichung:

SELECT USER();

Ergebnis:

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

USER() vs CURRENT_USER()

Der USER() Die Funktion gibt nicht immer das gleiche Ergebnis zurück wie CURRENT_USER() Funktion.

Zum Beispiel, wenn wir uns mit anonymous verbinden :

mariadb --user="anonymous"

Führen Sie dann USER() aus und CURRENT_USER() :

SELECT 
    USER(),
    CURRENT_USER;

Ergebnis:

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

Es werden keine Argumente akzeptiert

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

SELECT USER(123);

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 '123)' at line 1

Anweisungen mit dem USER() Funktion oder eines ihrer Synonyme (SYSTEM_USER() und SESSION_USER() ) sind für die Replikation auf Anweisungsebene nicht sicher.