ইউনিক কি সহ টেবিল তৈরি
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) ফাংশন দিয়ে ইনসার্ট করার চেষ্টা করা মান আপডেটে ব্যবহার করা যায়।