SUBSTRING_INDEX() फ़ंक्शन से यूज़र आईडी निकालें
MySQL में USER() फ़ंक्शन वर्तमान यूज़र को 'username@hostname' फॉर्मेट में लौटाता है। केवल यूज़रनेम (आईडी) प्राप्त करने के लिए SUBSTRING_INDEX() फ़ंक्शन का उपयोग करें।
वर्तमान यूज़र देखना
mysql> SELECT USER();
+----------------+
| USER() |
+----------------+
| root@localhost |
+----------------+
केवल यूज़र आईडी निकालना
SUBSTRING_INDEX(USER(), '@', 1) - '@' के पहले का भाग लौटाता है:
mysql> SELECT SUBSTRING_INDEX(USER(), '@', 1);
+-------------------------------+
| SUBSTRING_INDEX(USER(),'@',1) |
+-------------------------------+
| root |
+-------------------------------+
होस्टनाम निकालना
SUBSTRING_INDEX(USER(), '@', -1) - '@' के बाद का भाग लौटाता है:
mysql> SELECT SUBSTRING_INDEX(USER(), '@', -1);
+--------------------------------+
| SUBSTRING_INDEX(USER(),'@',-1) |
+--------------------------------+
| localhost |
+--------------------------------+
SUBSTRING_INDEX सिंटैक्स
SUBSTRING_INDEX(string, delimiter, count)
- string: स्रोत स्ट्रिंग
- delimiter: विभाजक वर्ण
- count: सकारात्मक = बाएं से गिनें, नकारात्मक = दाएं से गिनें
व्यावहारिक उपयोग
यह तकनीक ऑडिट लॉग, ट्रिगर, या स्टोर्ड प्रोसीजर में वर्तमान यूज़र की पहचान के लिए उपयोगी है।