MySQL-এ প্রিপেয়ারড স্টেটমেন্ট (Prepared Statement) ব্যবহার করে কমা-বিভক্ত স্ট্রিংকে ভাগ করে আলাদা আলাদা রো হিসেবে ইনসার্ট করা যায়।
উদাহরণ
টেবিল তৈরি:
mysql> CREATE TABLE University (
-> UserId INT,
-> UniversityId INT
-> );
ভেরিয়েবল সেট করে স্ট্রিং প্রসেস:
mysql> SET @userId = '8,9,10';
mysql> SET @UniversityId = 100;
mysql> SET @myValues = REPLACE(@userId, ',', CONCAT(', ', @UniversityId, '),('));
mysql> SET @myValues = CONCAT('(', @myValues, ', ', @UniversityId, ')');
mysql> SET @insertQuery1 = CONCAT('INSERT INTO University VALUES', @myValues);
প্রিপেয়ার ও এক্সিকিউট:
mysql> PREPARE st FROM @insertQuery1; mysql> EXECUTE st; Query OK, 3 rows affected (0.18 sec)
ফলাফল:
mysql> SELECT * FROM University;
+--------+--------------+ | UserId | UniversityId | +--------+--------------+ | 8 | 100 | | 9 | 100 | | 10 | 100 | +--------+--------------+
প্রিপেয়ারড স্টেটমেন্ট ডি-অ্যালোকেট:
mysql> DEALLOCATE PREPARE st;
ব্যাখ্যা: REPLACE() দিয়ে কমা (,) কে , 100), (-এ রিপ্লেস করা হয়েছে, তারপর শুরুতে ( এবং শেষে , 100) যোগ করে একটিвалиড INSERT ... VALUES কোয়েরি তৈরি করা হয়েছে। বড় ডেটাসেটের জন্য এটি দ্রুত কিন্তু জটিল। আধুনিক MySQL-এ JSON_TABLE() বা রিকার্সিভ CTE ব্যবহার করা ভালো।