UNIQUE 키워드를 사용하여 MySQL에서 복합 고유성을 적용할 수 있습니다. 다음은 테이블 열에 UNIQUE 키워드를 추가하는 구문입니다.
구문은 다음과 같습니다.
CREATE TABLE yourTableName ( yourColumnName1 datatype, yourColumnName2 datatype, yourColumnName3 datatype, . . N UNIQUE yourConstarintName(yourColumnName2,yourColumnName3) );
위의 개념을 이해하기 위해 일부 열이 있는 테이블을 만들고 테이블에 고유한 제약 조건을 추가해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.
mysql> create table UniqueDemo -> ( -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> StudentName varchar(100), -> StudentAge int, -> StudentMarks int -> , -> UNIQUE age_NameConstraint(StudentName,StudentAge) -> ); Query OK, 0 rows affected (0.76 sec)
SHOW 명령을 사용하여 테이블에서 제약 조건 이름을 표시할 수 있습니다.
구문은 다음과 같습니다.
SHOW INDEX FROM yourTableName;
테이블의 고유 제약 조건을 표시하려면 위의 구문을 사용하십시오. 쿼리는 다음과 같습니다 -
mysql> SHOW INDEX FROM UniqueDemo;
다음은 출력입니다.
+------------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | Visible | +------------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+ | uniquedemo | 0 | PRIMARY | 1 | StudentId | A | 0 | NULL | NULL | | BTREE | | | YES | | uniquedemo | 0 | age_NameConstraint | 1 | StudentName | A | 0 | NULL | NULL | YES | BTREE | | | YES | | uniquedemo | 0 | age_NameConstraint | 2 | StudentAge | A | 0 | NULL | NULL | YES | BTREE | | | YES | +------------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+---------+ 3 rows in set (0.33 sec)