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

MariaDB SYSTEM_USER() vysvětleno

V MariaDB, SYSTEM_USER() je synonymem pro USER() funkce. Vrátí aktuální uživatelské jméno MariaDB a název hostitele, které jste zadali při ověřování do MariaDB.

Syntaxe

Syntaxe vypadá takto:

SYSTEM_USER()

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

Příklad

Zde je příklad k demonstraci:

SELECT SYSTEM_USER();

Výsledek:

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

SYSTEM_USER() vs CURRENT_USER()

Existuje také další funkce s názvem CURRENT_USER() to dělá podobnou věc. Ne vždy však vrátí stejný výsledek jako SYSTEM_USER() .

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

mariadb --user="anonymous"

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

SELECT 
    SYSTEM_USER(),
    CURRENT_USER;

Výsledek:

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

Pokud však přeskočíme zpět na naši předchozí relaci (v původním okně terminálu), každá funkce vrátí stejné výsledky:

SELECT 
    SYSTEM_USER(),
    CURRENT_USER;

Výsledek:

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

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

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

SELECT SYSTEM_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í SYSTEM_USER() funkce (nebo USER() a SESSION_USER() ) nejsou bezpečné pro replikaci na úrovni příkazů.


  1. ExecuteNonQuery pro příkaz SELECT sql nevrací žádné řádky

  2. Migrace dat pomocí Network_link

  3. Prohlášení FORALL s vázanou doložkou VALUES-OF v databázi Oracle

  4. UnsatisfiedLinkError v nativní metodě