কনস্ট্রেইন্ট যোগ করার সিনট্যাক্স:
alter table yourTableName add constraint anyName unique(yourColumnName);
প্রথমে একটি টেবিল তৈরি করি:
mysql> create table DemoTable1459 (
-> Name varchar(20),
-> Score int
-> );
Query OK, 0 rows affected (0.72 sec)
ইউনিক কনস্ট্রেইন্ট যোগ করি:
mysql> alter table DemoTable1459 add constraint Name_const unique(Name); Query OK, 0 rows affected (1.09 sec) Records: 0 Duplicates: 0 Warnings: 0
ON DUPLICATE KEY UPDATE সহ ইনসার্ট করি:
mysql> insert into DemoTable1459 values('Chris',57) on duplicate key update Score=Score+10;
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1459 values('David',89) on duplicate key update Score=Score+10;
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1459 values('Chris',78) on duplicate key update Score=Score+10;
Query OK, 2 rows affected (0.33 sec)
সব রেকর্ড দেখি:
mysql> select * from DemoTable1459;
আউটপুট (Chris-এর স্কোর ৫৭+১০=৬৭ হয়েছে):
+-------+-------+ | Name | Score | +-------+-------+ | Chris | 67 | | David | 89 | +-------+-------+ 2 rows in set (0.00 sec)
ব্যাখ্যা: ইউনিক কনস্ট্রেইন্ট ছাড়া ON DUPLICATE KEY UPDATE কাজ করে না। PRIMARY KEY বা UNIQUE INDEX থাকা বাধ্যতামূলক।