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

MySQL-এ কন্ডিশনাল ইনসার্ট কীভাবে করবেন?

এজন্য MySQL ডুয়াল টেবিল ব্যবহার করে ইনসার্ট করতে পারেন। কনসেপ্ট বুঝতে একটি টেবিল তৈরি করি:

mysql> CREATE TABLE ConditionalInsertDemo (
    -> UserId INT,
    -> TotalUser INT,
    -> NumberOfItems INT
    -> ); Query OK, 0 rows affected (0.58 sec)

ইনসার্ট কমান্ড দিয়ে কিছু রেকর্ড যোগ করি:

mysql> INSERT INTO ConditionalInsertDemo VALUES(101,560,780); Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO ConditionalInsertDemo VALUES(102,660,890); Query OK, 1 row affected (0.20 sec)
mysql> INSERT INTO ConditionalInsertDemo VALUES(103,450,50); Query OK, 1 row affected (0.15 sec)

সিলেক্ট স্টেটমেন্ট দিয়ে সব রেকর্ড দেখি:

mysql> SELECT * FROM ConditionalInsertDemo;

আউটপুট

+--------+-----------+---------------+
| UserId | TotalUser | NumberOfItems |
+--------+-----------+---------------+
|    101 |       560 |           780 |
|    102 |       660 |           890 |
|    103 |       450 |            50 |
+--------+-----------+---------------+
3 rows in set (0.00 sec)

এখন টেবিলে ৩টি রেকর্ড আছে। ডুয়াল টেবিলের সাহায্যে কন্ডিশনাল ইনসার্ট করি। ক্যোয়ারিটি টেবিলে রেকর্ড ইনসার্ট করবে যখন UserId=104 এবং NumberOfItems=3500 ইতিমধ্যে টেবিলে না থাকে:

mysql> INSERT INTO ConditionalInsertDemo(UserId,TotalUser,NumberOfItems)
    -> SELECT 104,900,3500 FROM DUAL
    -> WHERE NOT EXISTS (SELECT * FROM ConditionalInsertDemo
    -> WHERE UserId=104 AND NumberOfItems=3500); Query OK, 1 row affected (0.18 sec) Records: 1 Duplicates: 0 Warnings: 0

এখন চেক করি রেকর্ড ইনসার্ট হয়েছে কিনা:

mysql> SELECT * FROM ConditionalInsertDemo;

আউটপুট

+--------+-----------+---------------+
| UserId | TotalUser | NumberOfItems |
+--------+-----------+---------------+
|    101 |       560 |           780 |
|    102 |       660 |           890 |
|    103 |       450 |            50 |
|    104 |       900 |          3500 |
+--------+-----------+---------------+
4 rows in set (0.00 sec)
  1. MySQL-এ ডাবল কোটস (") সহ রেকর্ড ইনসার্ট করার পদ্ধতি (Escape ব্যবহার করে)

  2. MySQL-এ BEFORE INSERT TRIGGER ব্যবহার করে অটোমেটিক্যালি বর্তমান তারিখ ইনসার্ট করুন

  3. MySQL-এ AUTO_INCREMENT কলাম রিসেট করা (TRUNCATE TABLE)

  4. MySQL-এ BEFORE INSERT ট্রিগার তৈরি করা