आप इसे MySQL में प्रीपेयर्ड स्टेटमेंट की मदद से प्राप्त कर सकते हैं। पहले आपको एक टेबल बनाना होगा। टेबल बनाने की क्वेरी निम्नलिखित है:
mysql> create table University
-> (
-> UserId INT,
-> UniversityId INT
-> ); Query OK, 0 rows affected (0.64 sec)
सबसे पहले, उपरोक्त कॉलम में वैल्यू सेट करते हैं। यहां हमने UserId कॉलम के लिए कॉमा सेपरेटेड वैल्यू वाला एक स्ट्रिंग सेट किया है। हम इसे विभाजित करके टेबल में इन्सर्ट करेंगे:
mysql> SET @userId = '8,9,10'; Query OK, 0 rows affected (0.00 sec)
mysql> SET @UniversityId = 100; Query OK, 0 rows affected (0.00 sec)
mysql> SET @myValues = REPLACE(@userId, ',', CONCAT(', ', @UniversityId, '),(')); Query OK, 0 rows affected (0.00 sec)
mysql> SET @myValues = CONCAT('(', @myValues, ', ', @UniversityId, ')'); Query OK, 0 rows affected (0.00 sec)
mysql> SET @insertQuery1 = CONCAT('INSERT INTO University VALUES', @myValues); Query OK, 0 rows affected (0.00 sec)
उपरोक्त सभी स्टेप्स इम्प्लीमेंट करने के बाद, आपको उपरोक्त @insertQuery1 को एक्जीक्यूट करना होगा।
क्वेरी निम्नलिखित है:
mysql> PREPARE st FROM @insertQuery1; Query OK, 0 rows affected (0.00 sec) Statement prepared mysql> EXECUTE st; Query OK, 3 rows affected (0.18 sec) Records: 3 Duplicates: 0 Warnings: 0
अब SELECT स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें:
mysql> SELECT * FROM University;
निम्नलिखित आउटपुट दर्शाता है कि हमने स्ट्रिंग (8, 9, 10) को सफलतापूर्वक विभाजित किया और उन्हें व्यक्तिगत मानों के रूप में इन्सर्ट किया:
+--------+--------------+ | UserId | UniversityId | +--------+--------------+ | 8 | 100 | | 9 | 100 | | 10 | 100 | +--------+--------------+ 3 rows in set (0.00 sec)
अब प्रीपेयर्ड स्टेटमेंट को डीअलोकेट करें।
क्वेरी निम्नलिखित है:
mysql> DEALLOCATE PREPARE st; Query OK, 0 rows affected (0.00 sec)