Add constraint for on duplicate key update in MySQL



To add constraint, the syntax is as follows −

alter table yourTableName add constraint anyName unique(yourColumnName);

Let us first create a table −

mysql> create table DemoTable1459
   -> (
   -> Name varchar(20),
   -> Score int
   -> );
Query OK, 0 rows affected (0.72 sec)

Following is the query to add constraint for on duplicate key update −

mysql> alter table DemoTable1459 add constraint Name_const unique(Name);
Query OK, 0 rows affected (1.09 sec)
Records: 0  Duplicates: 0  Warnings: 0

Insert some records in the table using insert command −

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)

Display all records from the table using select statement −

mysql> select * from DemoTable1459;

This will produce the following output −

+-------+-------+
| Name  | Score |
+-------+-------+
| Chris |    67 |
| David |    89 |
+-------+-------+
2 rows in set (0.00 sec)

Advertisements