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