Ինչպե՞ս ապահովել, որ MySQL տողերը եզակի են:


Որպեսզի համոզվեք, որ MySQL տողերը եզակի են, դուք պետք է օգտագործեք ՈՒՆԻԿ սահմանափակում: Եկեք նախ ստեղծենք աղյուսակ.

mysql> create table DemoTable1580
   -> (
   -> id int,
   -> Name varchar(20),
   -> Age int
   -> );
Query OK, 0 rows affected (0.73 sec)

Ահա եզակի սահմանափակումներ ստեղծելու հարցումը՝ ապահովելու համար, որ MySQL տողերը եզակի են.

mysql> alter table DemoTable1580 add unique index(id,Name,Age);
Query OK, 0 rows affected (0.45 sec)
Records: 0  Duplicates: 0  Warnings: 0

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

mysql> insert into DemoTable1580 values(101,'Chris',21);
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable1580 values(102,'Chris',21);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1580 values(102,'David',21);
Query OK, 1 row affected (0.49 sec)
mysql> insert into DemoTable1580 values(101,'Chris',21);
ERROR 1062 (23000): Duplicate entry '101-Chris-21' for key 'id'

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

mysql> select * from DemoTable1580;

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

+------+-------+------+
| id   | Name  | Age  |
+------+-------+------+
|  101 | Chris |   21 |
|  102 | Chris |   21 |
|  102 | David |   21 |
+------+-------+------+
3 rows in set (0.00 sec)