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

MySQL UNIQUE 제약 조건은 무엇이며 테이블 필드에 어떻게 적용할 수 있습니까?


이름에서 알 수 있듯이 MySQL UNIQUE 제약 조건은 테이블에 있는 열의 고유성을 유지하며 중복 값 삽입을 허용하지 않습니다. 기본적으로 UNIQUE 제약 조건은 인덱스 열의 모든 값이 고유해야 하는 인덱스를 생성합니다. 여기에서 MySQL 테이블에 하나 이상의 UNIQUE 열이 있을 수 있다는 점을 언급하는 것이 적절합니다.

컬럼을 정의할 때 'UNIQUE' 키워드를 언급함으로써 UNIQUE 제약조건을 적용할 수 있다. 다음 예의 도움으로 이해할 수 있습니다 -

mysql> Create table test3(ID INT UNIQUE, Name Varchar(20));
Query OK, 0 rows affected (0.16 sec)

위의 쿼리는 'UNIQUE' 제약 조건이 있는 'ID' 열이 있는 'test3'이라는 테이블을 생성합니다. 다음과 같이 DESCRIBE 문으로 확인할 수 있습니다 -

mysql> DESCRIBE test3;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| ID    | int(11)     | YES  | UNI | NULL    |       |
| Name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.04 sec)

UNIQUE 제약 조건은 다음 쿼리를 사용하여 테이블의 열에도 적용할 수 있습니다. -

mysql> Create table test4(ID INT, Name Varchar(20),UNIQUE(ID));
Query OK, 0 rows affected (0.15 sec)

다음과 같이 DESCRIBE 문으로 확인할 수 있습니다 -

mysql> DESCRIBE test4;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| ID    | int(11)     | YES  | UNI | NULL    |       |
| Name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.04 sec)