sql >> Database >  >> RDS >> MariaDB

MariaDB CURRENT_USER() uitgelegd

In MariaDB, CURRENT_USER() is een ingebouwde functie die de combinatie van gebruikersnaam en hostnaam retourneert voor het MariaDB-account dat de server heeft gebruikt om de huidige client te verifiëren.

Syntaxis

De functie kan worden aangeroepen met of zonder haakjes:

CURRENT_USER
CURRENT_USER()

Er zijn geen argumenten vereist of geaccepteerd.

Voorbeeld

Hier is een voorbeeld om te demonstreren:

SELECT CURRENT_USER();

Resultaat:

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

Zonder haakjes

Zoals gezegd, de CURRENT_USER() functie kan worden aangeroepen met of zonder haakjes.

Hier is een voorbeeld zonder haakjes:

SELECT CURRENT_USER;

Resultaat:

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

Zelfde resultaat.

Anonieme gebruiker

Hier is een voorbeeld van wat er gebeurt als je anoniem bent verbonden.

Maak verbinding met anonymous :

mariadb --user="anonymous"

Voer CURRENT_USER uit :

SELECT CURRENT_USER;

Resultaat:

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

CURRENT_USER() vs USER()

De CURRENT_USER() functie geeft niet altijd hetzelfde resultaat als de USER() functie (en zijn synoniemen SYSTEM_USER() en SESSION_USER() ).

Voorbeeld:

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

Resultaat:

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

Er worden geen argumenten geaccepteerd

Argumenten doorgeven aan CURRENT_USER() resulteert in een fout:

SELECT CURRENT_USER(1);

Resultaat:

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. Meer transactielogvet bijsnijden

  2. Sorteren in SQL Server

  3. SQLite3.Exception:databaseschijfkopie is verkeerd ingedeeld

  4. BULK INSERT in MYSQL