MariaDB
 sql >> Base de données >  >> RDS >> MariaDB

MariaDB USER() expliqué

Dans MariaDB, USER() est une fonction intégrée qui renvoie le nom d'utilisateur et le nom d'hôte MariaDB actuels, donnés lors de l'authentification auprès de MariaDB.

Syntaxe

La syntaxe ressemble à ceci :

USER()

Aucun argument n'est requis ou accepté.

Exemple

Voici un exemple pour illustrer :

SELECT USER();

Résultat :

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

USER() contre CURRENT_USER()

Le USER() La fonction ne renvoie pas toujours le même résultat que le CURRENT_USER() fonction.

Par exemple, si nous nous connectons en utilisant anonymous :

mariadb --user="anonymous"

Ensuite, exécutez USER() et CURRENT_USER() :

SELECT 
    USER(),
    CURRENT_USER;

Résultat :

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

Aucun argument n'est accepté

Passer tous les arguments à USER() génère une erreur :

SELECT USER(123);

Résultat :

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

Déclarations utilisant USER() fonction ou l'un de ses synonymes (SYSTEM_USER() et SESSION_USER() ) ne sont pas sûrs pour la réplication au niveau de l'instruction.