sql >> Database >  >> RDS >> MariaDB

MariaDB GEBRUIKER() uitgelegd

In MariaDB, USER() is een ingebouwde functie die de huidige MariaDB-gebruikersnaam en hostnaam retourneert, gegeven bij authenticatie bij MariaDB.

Syntaxis

De syntaxis gaat als volgt:

USER()

Er zijn geen argumenten vereist of geaccepteerd.

Voorbeeld

Hier is een voorbeeld om te demonstreren:

SELECT USER();

Resultaat:

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

USER() vs CURRENT_USER()

De USER() functie geeft niet altijd hetzelfde resultaat als de CURRENT_USER() functie.

Als we bijvoorbeeld verbinding maken via anonymous :

mariadb --user="anonymous"

Voer vervolgens USER() . uit en CURRENT_USER() :

SELECT 
    USER(),
    CURRENT_USER;

Resultaat:

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

Er worden geen argumenten geaccepteerd

Argumenten doorgeven aan USER() resulteert in een fout:

SELECT USER(123);

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

Verklaringen met de USER() functie of een van zijn synoniemen (SYSTEM_USER() en SESSION_USER() ) zijn niet veilig voor replicatie op instructieniveau.


  1. Bij dubbele sleutelupdate hetzelfde als invoegen

  2. Hoe kan ik deze fout oplossen:niet-ondersteunde SQL92?

  3. join op de kolom van twee verschillende tabellen sqlite3

  4. Wat is in een Oracle-database het verschil tussen ROWNUM en ROW_NUMBER?