Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL의 일부 조건에서 varchar 열에 UNIQUE를 사용하시겠습니까?

<시간/>

이를 위해 하나 이상의 열에 UNIQUE 제약 조건을 사용할 수 있습니다 -

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

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

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)