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

MariaDB USER() Vysvětleno

V MariaDB, USER() je vestavěná funkce, která vrací aktuální uživatelské jméno MariaDB a název hostitele zadané při ověřování do MariaDB.

Syntaxe

Syntaxe vypadá takto:

USER()

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

Příklad

Zde je příklad k demonstraci:

SELECT USER();

Výsledek:

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

USER() vs CURRENT_USER()

USER() funkce nevrací vždy stejný výsledek jako CURRENT_USER() funkce.

Pokud se například připojíme pomocí anonymous :

mariadb --user="anonymous"

Poté spusťte USER() a CURRENT_USER() :

SELECT 
    USER(),
    CURRENT_USER;

Výsledek:

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

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

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

SELECT USER(123);

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

Příkazy pomocí USER() funkce nebo jedno z jejích synonym (SYSTEM_USER() a SESSION_USER() ) nejsou bezpečné pro replikaci na úrovni příkazů.


  1. sp_add_schedule vs sp_add_jobschedule v SQL Server:Jaký je rozdíl?

  2. Emulujte klauzuli MySQL LIMIT v Microsoft SQL Server 2000

  3. Jak nezobrazovat duplikáty v SQL

  4. Jak spojit dvě tabulky v MySQL