একটি টেবিলে নতুন সারি ইনসার্ট করার সময় যদি সেটি UNIQUE ইন্ডেক্স বা PRIMARY KEY-এ ডুপ্লিকেট করে, তবে এরর দেখা দেয়। এটি সমাধানের জন্য ON DUPLICATE KEY UPDATE ব্যবহার করুন। INSERT স্টেটমেন্টে এটি ব্যবহার করলে বিদ্যমান সারি নতুন মান নিয়ে আপডেট হয়।
প্রথমে একটি টেবিল তৈরি করা যাক:
mysql> create table DemoTable ( Value int ); Query OK, 0 rows affected (0.61 sec)
ইন্ডেক্স তৈরি করার কোয়েরি:
mysql> create unique index value_index on DemoTable(Value); Query OK, 0 rows affected (0.77 sec) Records: 0 Duplicates: 0 Warnings: 0
ইনসার্ট কমান্ড ব্যবহার করে টেবিলে কিছু রেকর্ড যোগ করুন:
mysql> insert into DemoTable values(40) on duplicate key update Value=Value+1000; Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable values(50) on duplicate key update Value=Value+1000; Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values(40) on duplicate key update Value=Value+1000; Query OK, 2 rows affected (0.15 sec)
সিলেক্ট স্টেটমেন্ট ব্যবহার করে টেবিল থেকে সকল রেকর্ড প্রদর্শন করুন:
mysql> select *from DemoTable;
এটি নিম্নলিখিত আউটপুট দেবে:
+-------+ | Value | +-------+ | 50 | | 1040 | +-------+ 2 rows in set (0.00 sec)