sql >> Databasteknik >  >> RDS >> MariaDB

MariaDB USER() Förklarat

I MariaDB, USER() är en inbyggd funktion som returnerar det aktuella MariaDB-användarnamnet och värdnamnet, som ges vid autentisering till MariaDB.

Syntax

Syntaxen ser ut så här:

USER()

Inga argument krävs eller accepteras.

Exempel

Här är ett exempel att visa:

SELECT USER();

Resultat:

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

USER() kontra CURRENT_USER()

USER() funktion returnerar inte alltid samma resultat som CURRENT_USER() funktion.

Till exempel, om vi ansluter med anonymous :

mariadb --user="anonymous"

Kör sedan USER() och CURRENT_USER() :

SELECT 
    USER(),
    CURRENT_USER;

Resultat:

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

Inga argument accepteras

Skickar eventuella argument till USER() resulterar i ett fel:

SELECT USER(123);

Resultat:

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

Uttalanden som använder USER() funktion eller en av dess synonymer (SYSTEM_USER() och SESSION_USER() ) är inte säkra för replikering på satsnivå.


  1. Vilka är användningsfallen för att välja CHAR framför VARCHAR i SQL?

  2. Jag kan inte hitta my.cnf på min Windows-dator

  3. Vad är DATALENGTH() i SQL Server?

  4. Generera SQL för att uppdatera primärnyckeln