Օգտագործո՞ւմ եք UNIQUE-ը varchar սյունակների համար MySQL-ում որոշ պայմաններով:
Դրա համար դուք կարող եք օգտագործել ՅՈՒՐԱՔԱՆԱԿԱՆ սահմանափակում մեկ կամ մի քանի սյունակների վրա.
alter table yourTablleName add unique(yourColumnName1,yourColumnName2,...N);
Եկեք նախ ստեղծենք աղյուսակ.
mysql> create table DemoTable1598
-> (
-> EmployeeId int,
-> EmployeeName varchar(20),
-> EmployeeCountryName varchar(20)
-> );
Query OK, 0 rows affected (0.52 sec)
Ահա varchar սյունակների վրա UNIQUE-ն իրականացնելու հարցումը.
mysql> alter table DemoTable1598 add unique(EmployeeName,EmployeeCountryName);
Query OK, 0 rows affected (0.55 sec)
Records: 0 Duplicates: 0 Warnings: 0
Տեղադրեք որոշ գրառումներ աղյուսակում՝ օգտագործելով insert հրամանը.
mysql> insert into DemoTable1598 values(101,'Adam','AUS');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable1598 values(102,'John','US');
Query OK, 1 row affected (0.64 sec)
mysql> insert into DemoTable1598 values(103,'Adam','US');
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable1598 values(104,'Adam','AUS');
ERROR 1062 (23000): Duplicate entry 'Adam-AUS' for key 'EmployeeName'
Ցուցադրել բոլոր գրառումները աղյուսակից՝ օգտագործելով select հայտարարությունը.
mysql> select * from DemoTable1598;
Սա կստեղծի հետևյալ արդյունքը.
+------------+--------------+---------------------+
| EmployeeId | EmployeeName | EmployeeCountryName |
+------------+--------------+---------------------+
| 101 | Adam | AUS |
| 102 | John | US |
| 103 | Adam | US |
+------------+--------------+---------------------+
3 rows in set (0.00 sec)