MariaDB
 sql >> база данни >  >> RDS >> MariaDB

MariaDB SESSION_USER() Обяснено

В MariaDB, SESSION_USER() е синоним на USER() функция. Връща текущото потребителско име на MariaDB и име на хост, дадени при удостоверяване на MariaDB.

Синтаксис

Синтаксисът е така:

SESSION_USER()

Не се изискват или приемат аргументи.

Пример

Ето пример за демонстрация:

SELECT SESSION_USER();

Резултат:

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

SESSION_USER() срещу CURRENT_USER()

Има и друга функция, наречена CURRENT_USER() това прави подобно нещо. Той обаче не винаги връща същия резултат като SESSION_USER() .

Например, ако се свържем с помощта на anonymous :

mariadb --user="anonymous"

След това стартирайте SESSION_USER() и CURRENT_USER() :

SELECT 
    SESSION_USER(),
    CURRENT_USER;

Резултат:

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

Въпреки това, ако се върнем към предишната ни сесия (в оригиналния прозорец на терминала), всяка функция връща същите резултати:

SELECT 
    SESSION_USER(),
    CURRENT_USER;

Резултат:

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

Не се приемат аргументи

Подаване на всякакви аргументи към SESSION_USER() води до грешка:

SELECT SESSION_USER(123);

Резултат:

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

Изявления, използващи SESSION_USER() функция (или USER() и SYSTEM_USER() ) не са безопасни за репликация на ниво израз.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да подобрим производителността на репликация в MySQL или MariaDB Galera клъстер

  2. Как работи DAYOFMONTH() в MariaDB

  3. Обявяване на ClusterControl 1.5 – включващ автоматична проверка на архивиране и качване в облак

  4. MariaDB LOCALTIMESTAMP() Обяснено

  5. Как DATE_FORMAT() работи в MariaDB