Di MariaDB, SYSTEM_USER() adalah sinonim untuk USER() fungsi. Ini mengembalikan nama pengguna dan nama host MariaDB saat ini, yang diberikan saat mengautentikasi ke MariaDB.
Sintaks
Sintaksnya seperti ini:
SYSTEM_USER() Tidak ada argumen yang diperlukan atau diterima.
Contoh
Berikut ini contoh untuk didemonstrasikan:
SELECT SYSTEM_USER(); Hasil:
+------------------+ | SYSTEM_USER() | +------------------+ | example@sqldat.com | +------------------+
SYSTEM_USER() vs CURRENT_USER()
Ada juga fungsi lain yang disebut CURRENT_USER() yang melakukan hal serupa. Namun, itu tidak selalu mengembalikan hasil yang sama seperti SYSTEM_USER() .
Misalnya, jika kita terhubung menggunakan anonymous :
mariadb --user="anonymous"
Kemudian jalankan SYSTEM_USER() dan CURRENT_USER() :
SELECT
SYSTEM_USER(),
CURRENT_USER; Hasil:
+---------------------+--------------+ | SYSTEM_USER() | CURRENT_USER | +---------------------+--------------+ | example@sqldat.com | @localhost | +---------------------+--------------+
Tetapi jika kita melompat kembali ke sesi sebelumnya (di jendela terminal asli), setiap fungsi mengembalikan hasil yang sama:
SELECT
SYSTEM_USER(),
CURRENT_USER; Hasil:
+------------------+------------------+ | SYSTEM_USER() | CURRENT_USER | +------------------+------------------+ | example@sqldat.com | example@sqldat.com | +------------------+------------------+
Tidak Ada Argumen yang Diterima
Melewati argumen apa pun ke SYSTEM_USER() menghasilkan kesalahan:
SELECT SYSTEM_USER(123); Hasil:
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
Pernyataan menggunakan SYSTEM_USER() fungsi (atau USER() dan SESSION_USER() ) tidak aman untuk replikasi tingkat pernyataan.