मारियाडीबी में, SESSION_USER()
USER()
. का पर्यायवाची है समारोह। यह मारियाडीबी को प्रमाणित करते समय दिया गया वर्तमान मारियाडीबी उपयोगकर्ता नाम और होस्ट नाम लौटाता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
SESSION_USER()
किसी तर्क की आवश्यकता नहीं है या स्वीकार नहीं है।
उदाहरण
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है:
SELECT SESSION_USER();
परिणाम:
+------------------+ | SESSION_USER() | +------------------+ | [email protected] | +------------------+
SESSION_USER()
बनाम CURRENT_USER()
CURRENT_USER()
called नामक एक अन्य फ़ंक्शन भी है जो कुछ ऐसा ही करता है। हालांकि, यह हमेशा SESSION_USER()
के समान परिणाम नहीं देता है .
उदाहरण के लिए, यदि हम anonymous
. का उपयोग करके कनेक्ट करते हैं :
mariadb --user="anonymous"
फिर SESSION_USER()
चलाएं और CURRENT_USER()
:
SELECT
SESSION_USER(),
CURRENT_USER;
परिणाम:
+---------------------+--------------+ | SESSION_USER() | CURRENT_USER | +---------------------+--------------+ | [email protected] | @localhost | +---------------------+--------------+
हालांकि, अगर हम अपने पिछले सत्र (मूल टर्मिनल विंडो में) पर वापस जाते हैं, तो प्रत्येक फ़ंक्शन समान परिणाम देता है:
SELECT
SESSION_USER(),
CURRENT_USER;
परिणाम:
+------------------+------------------+ | SESSION_USER() | CURRENT_USER | +------------------+------------------+ | [email protected] | [email protected] | +------------------+------------------+
कोई तर्क स्वीकार नहीं किया जाता
SESSION_USER()
. को कोई तर्क देना एक त्रुटि में परिणाम:
SELECT SESSION_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पर '123)' के पास उपयोग करने के लिए सही सिंटैक्स के लिए अपने मारियाडीबी सर्वर संस्करण से संबंधित मैनुअल की जांच करें।
SESSION_USER()
. का उपयोग करने वाले कथन फ़ंक्शन (या USER()
और SYSTEM_USER()
) कथन स्तर की प्रतिकृति के लिए सुरक्षित नहीं हैं।