Di MariaDB, SESSION_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:
SESSION_USER()
Tidak ada argumen yang diperlukan atau diterima.
Contoh
Berikut ini contoh untuk didemonstrasikan:
SELECT SESSION_USER();
Hasil:
+------------------+ | SESSION_USER() | +------------------+ | [email protected] | +------------------+
SESSION_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 SESSION_USER()
.
Misalnya, jika kita terhubung menggunakan anonymous
:
mariadb --user="anonymous"
Kemudian jalankan SESSION_USER()
dan CURRENT_USER()
:
SELECT
SESSION_USER(),
CURRENT_USER;
Hasil:
+---------------------+--------------+ | SESSION_USER() | CURRENT_USER | +---------------------+--------------+ | [email protected] | @localhost | +---------------------+--------------+
Namun, jika kita melompat kembali ke sesi sebelumnya (di jendela terminal asli), setiap fungsi mengembalikan hasil yang sama:
SELECT
SESSION_USER(),
CURRENT_USER;
Hasil:
+------------------+------------------+ | SESSION_USER() | CURRENT_USER | +------------------+------------------+ | [email protected] | [email protected] | +------------------+------------------+
Tidak Ada Argumen yang Diterima
Melewati argumen apa pun ke SESSION_USER()
menghasilkan kesalahan:
SELECT SESSION_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 SESSION_USER()
fungsi (atau USER()
dan SYSTEM_USER()
) tidak aman untuk replikasi tingkat pernyataan.