mysql> desc project_participation;
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| projectno | int | NO | PRI | NULL | |
| empno | int | NO | PRI | NULL | |
| start_date | varchar(12) | NO | PRI | NULL | |
| end_date | varchar(12) | YES | | NULL | |
| role_id | int | YES | MUL | NULL | |
+------------+-------------+------+-----+---------+-------+
5 rows in set (0.01 sec)
mysql 쉘에서 'describe 테이블'을 실행하면 테이블 필드의 정보가 나옵니다. Key에는 세가지 항목이 나올 수 있습니다.
- PRI: Primary Key. 기본키.
- UNI: Unique Key. 고유키.
- MUL: ?
MUL은 뭘까요?
If Key is MUL, the column is the first column of a nonunique index in which multiple occurrences of a given value are permitted within the column.
-- https://dev.mysql.com/doc/refman/8.0/en/show-columns.html
키가 MUL(Multiple)인 경우 논유니크 인덱스(=중복 가능)의 첫번째 컬럼을 나타낸다고 합니다.
보통은 외래키(FK)일거고, 여러 열을 묶어서 Unique 인덱스를 구성한 경우 그 인덱스 자체는 중복이 불가능하지만 인덱스를 구성하는 각각의 컬럼은 중복된 값을 가질 수 있으니 MUL로 출력된다고 하네요.
만약 Key에 PRI, UNI, MUL 여러개에 해당된다면 PRI->UNI->MUL 순의 우선순위로 출력한다고 합니다.
반응형
'DB > MariaDB, MySQL' 카테고리의 다른 글
[MySQL] 서버 타임존 설정 방법 (0) | 2020.10.27 |
---|---|
InnoDB vs MyISAM (2) | 2020.08.06 |
MariaDB와 MySQL의 차이 (0) | 2020.08.06 |