Ավելացրեք սահմանափակում MySQL-ում կրկնօրինակ բանալիների թարմացման համար


Սահմանափակում ավելացնելու համար շարահյուսությունը հետևյալն է.

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

Տեղադրեք որոշ գրառումներ աղյուսակում՝ օգտագործելով insert հրամանը.

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)

Ցուցադրել բոլոր գրառումները աղյուսակից՝ օգտագործելով select հայտարարությունը.

mysql> select * from DemoTable1459;

Սա կստեղծի հետևյալ արդյունքը.

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