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

MySQL-এ INSERT INTO ... SELECT সঠিকভাবে ব্যবহার করা (ERROR 1064 এড়াতে)

MySQL-এ এক টেবিল থেকে ডেটা সিলেক্ট করে অন্য টেবিলে ইনসার্ট করতে INSERT INTO ... SELECT সিনট্যাক্স ব্যবহার করা হয়। কলাম তালিকা মিলিয়ে দেওয়া জরুরি।

সোর্স টেবিল তৈরি এবং ডেটা ইনসার্ট

mysql> CREATE TABLE DemoTable1 (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> FirstName VARCHAR(100)
    -> );
Query OK, 0 rows affected (0.57 sec)
mysql> INSERT INTO DemoTable1(FirstName) VALUES('John');
mysql> INSERT INTO DemoTable1(FirstName) VALUES('Chris');

সোর্স টেবিলের ডেটা

mysql> SELECT * FROM DemoTable1;
+----+-----------+
| Id | FirstName |
+----+-----------+
| 1  | John      |
| 2  | Chris     |
+----+-----------+
2 rows in set (0.00 sec)

ডেস্টিনেশন টেবিল তৈরি

mysql> CREATE TABLE DemoTable2 (
    -> CustomerId INT,
    -> CustomerName VARCHAR(100)
    -> );
Query OK, 0 rows affected (0.43 sec)

INSERT INTO ... SELECT ব্যবহার করে ডেটা কপি

mysql> INSERT INTO DemoTable2(CustomerId, CustomerName)
    -> SELECT Id, FirstName FROM DemoTable1;
Query OK, 2 rows affected (0.17 sec)
Records: 2 Duplicates: 0 Warnings: 0

ডেস্টিনেশন টেবিল যাচাই

mysql> SELECT * FROM DemoTable2;

আউটপুট

+------------+--------------+
| CustomerId | CustomerName |
+------------+--------------+
| 1          | John         |
| 2          | Chris        |
+------------+--------------+
2 rows in set (0.00 sec)

সঠিক সিনট্যাক্স:

INSERT INTO target_table (col1, col2, ...)
SELECT col1, col2, ... FROM source_table WHERE condition;

ERROR 1064 এর সাধারণ কারণ:

  • কলাম সংখ্যা বা টাইপ মিল না খাওয়া।
  • VALUES কীওয়ার্ড ভুলে যাওয়া (SELECT-এ VALUES লাগে না)।
  • ব্যাকটিক ছাড়া রিজার্ভড কীওয়ার্ড কলাম নাম হিসেবে ব্যবহার।
  • সাবকোয়েরিতে পারেনথেসিস ভুল ব্যবহার।

টিপস: বড় ডেটাসেটের জন্য INSERT IGNORE INTO ... SELECT বা ON DUPLICATE KEY UPDATE ব্যবহার করুন।

  1. Java ব্যবহার করে MySQL ডেটাবেসে ডেটা ইনসার্ট করা (JDBC)

  2. MySQL-এ UPDATE-এ সাবকুয়েরি (SELECT) ব্যবহার করা

  3. MySQL-এ SELECT-এ IF() ফাংশন ব্যবহার করে শর্তভিত্তি আউটপুট দেওয়া

  4. MySQL-এ সঠিকভাবে DELIMITER ব্যবহার করে স্টোরড প্রসিডিউরে মান ইনসার্ট করা