কম্পিউটার টিউটোরিয়াল

MySQL-এ কমা-বিভক্ত স্ট্রিং ভাগ করে টেবিলে আলাদা আলাদা রো ইনসার্ট করা

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 ব্যবহার করা ভালো।

  1. MySQL-এ INSERT INTO SELECT দিয়ে অন্য টেবিল থেকে ডেটা কপি করা

  2. MySQL টেবিলে JSON ডেটা ইনসার্ট করার পদ্ধতি

  3. MySQL-এ LPAD() এবং COALESCE() দিয়ে প্রিসিডিং জিরো সহ আইডি জেনারেট করা

  4. MySQL-এ INSERT INTO SELECT ব্যবহার করে অন্য টেবিল থেকে ডেটা কপি করা