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

MySQL-এ INSERT ... ON DUPLICATE KEY UPDATE ব্যবহার করে এন্ট্রি থাকলে আপডেট করা


ইউনিক কি সহ টেবিল তৈরি

mysql> create table DemoTable1891 ( FirstName varchar(20), UNIQUE KEY(FirstName) ); Query OK, 0 rows affected (0.00 sec)

ইনসার্ট অথবা আপডেট (UPSERT)

FirstName ইউনিক। নতুন হলে ইনসার্ট, ডুপ্লিকেট হলে আপডেট:

mysql> insert into DemoTable1891 values('Chris') on duplicate key update FirstName='Robert'; Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1891 values('David') on duplicate key update FirstName='Robert'; Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1891 values('Chris') on duplicate key update FirstName='Robert'; Query OK, 2 rows affected (0.00 sec)

ফলাফল (Chris আপডেট হয়ে Robert হয়েছে)

mysql> select * from DemoTable1891;
+-----------+
| FirstName |
+-----------+
| David     |
| Robert    |
+-----------+
2 rows in set (0.00 sec)

ব্যাখ্যা: INSERT ... ON DUPLICATE KEY UPDATE MySQL-এর "UPSERT" সিনট্যাক্স। PRIMARY KEY বা UNIQUE KEY কনফ্লিক্ট হলে UPDATE অংশটি এক্সিকিউট হয়। ROW_COUNT() ১ ফেরত দেয় ইনসার্ট হলে, ২ দেয় আপডেট হলে। VALUES(col) ফাংশন দিয়ে ইনসার্ট করার চেষ্টা করা মান আপডেটে ব্যবহার করা যায়।

  1. MySQL SELECT 1 ব্যবহার করে ভ্যালু এক্সিস্ট করে কিনা চেক করার পদ্ধতি

  2. MySQL-এ SELECT NULL WHERE FALSE ব্যবহার করে কোনো রো ও কলাম না দেখানো

  3. MySQL-এ সমষ্টি ফাংশন এবং অন্যান্য সকল কলাম একসাথে নির্বাচন করা

  4. MySQL ভার্সন কীভাবে চেক করবেন