MariaDBでは、SYSTEM_USER() USER()の同義語です 働き。 MariaDBへの認証時に指定された現在のMariaDBユーザー名とホスト名を返します。
構文
構文は次のようになります:
SYSTEM_USER() 引数は必要ありません。
例
デモンストレーションの例を次に示します。
SELECT SYSTEM_USER(); 結果:
+------------------+ | SYSTEM_USER() | +------------------+ | example@sqldat.com | +------------------+
SYSTEM_USER() vs CURRENT_USER()
CURRENT_USER()と呼ばれる別の関数もあります それは同じようなことをします。ただし、常にSYSTEM_USER()と同じ結果が返されるとは限りません。 。
たとえば、anonymousを使用して接続する場合 :
mariadb --user="anonymous"
次に、SYSTEM_USER()を実行します およびCURRENT_USER() :
SELECT
SYSTEM_USER(),
CURRENT_USER; 結果:
+---------------------+--------------+ | SYSTEM_USER() | CURRENT_USER | +---------------------+--------------+ | example@sqldat.com | @localhost | +---------------------+--------------+
ただし、(元のターミナルウィンドウで)前のセッションに戻ると、各関数は同じ結果を返します。
SELECT
SYSTEM_USER(),
CURRENT_USER; 結果:
+------------------+------------------+ | SYSTEM_USER() | CURRENT_USER | +------------------+------------------+ | example@sqldat.com | example@sqldat.com | +------------------+------------------+
引数は受け入れられません
SYSTEM_USER()に引数を渡す エラーが発生します:
SELECT SYSTEM_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
SYSTEM_USER()を使用したステートメント 関数(またはUSER() およびSESSION_USER() )ステートメントレベルの複製には安全ではありません。