MariaDB
 sql >> Baza danych >  >> RDS >> MariaDB

MariaDB SYSTEM_USER() Objaśnienie

W MariaDB, SYSTEM_USER() jest synonimem USER() funkcjonować. Zwraca bieżącą nazwę użytkownika MariaDB i nazwę hosta, podaną podczas uwierzytelniania w MariaDB.

Składnia

Składnia wygląda tak:

SYSTEM_USER()

Żadne argumenty nie są wymagane ani akceptowane.

Przykład

Oto przykład do zademonstrowania:

SELECT SYSTEM_USER();

Wynik:

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

SYSTEM_USER() vs CURRENT_USER()

Jest też inna funkcja o nazwie CURRENT_USER() to robi podobną rzecz. Jednak nie zawsze zwraca ten sam wynik, co SYSTEM_USER() .

Na przykład, jeśli łączymy się za pomocą anonymous :

mariadb --user="anonymous"

Następnie uruchom SYSTEM_USER() i CURRENT_USER() :

SELECT 
    SYSTEM_USER(),
    CURRENT_USER;

Wynik:

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

Ale jeśli wrócimy do poprzedniej sesji (w oryginalnym oknie terminala), każda funkcja zwróci te same wyniki:

SELECT 
    SYSTEM_USER(),
    CURRENT_USER;

Wynik:

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

Żadne argumenty nie są akceptowane

Przekazywanie dowolnych argumentów do SYSTEM_USER() powoduje błąd:

SELECT SYSTEM_USER(123);

Wynik:

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

Wyciągi z użyciem SYSTEM_USER() funkcja (lub USER() i SESSION_USER() ) nie są bezpieczne dla replikacji na poziomie instrukcji.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak UTC_TIMESTAMP() działa w MariaDB

  2. Pełne szyfrowanie MariaDB w spoczynku i podczas przesyłania w celu maksymalnej ochrony danych — część pierwsza

  3. Jak OCT() działa w MariaDB

  4. MariaDB i dane zewnętrzne

  5. Używanie silnika pamięci masowej Aria z serwerem MariaDB