Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

PRIMARY KEY 키워드 없이 MySQL 테이블의 기본 키(PRIMARY KEY) 열을 정의하는 방법

MySQL에서 기본 키(PRIMARY KEY) 열은 반드시 고유한 값을 가져야 하며 NULL 값을 허용하지 않습니다. 이러한 특성을 활용하면 PRIMARY KEY 키워드를 직접 사용하지 않고도 기본 키 열을 정의할 수 있습니다. 바로 열에 UNIQUENOT NULL 제약 조건을 동시에 적용하면, 해당 열은 자동으로 기본 키 열로 인식됩니다.

예제

다음 예제에서는 'RollNo' 열에 UNIQUE와 NOT NULL 제약 조건을 함께 정의하여 'Student123'이라는 테이블을 생성합니다. 이후 DESCRIBE 명령어로 테이블 구조를 확인해 보면, 'RollNo'가 별도의 PRIMARY KEY 선언 없이도 자동으로 기본 키(PRI) 열로 지정된 것을 확인할 수 있습니다.

mysql> Create table Student123(RollNo INT UNIQUE NOT NULL, Name varchar(20));
Query OK, 0 rows affected (0.25 sec)

mysql> DESCRIBE Student123;

+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| RollNo | int(11)     | NO   | PRI | NULL    |       |
| Name   | varchar(20) | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+

2 rows in set (0.04 sec)

출력 결과에서 Key 항목이 PRI로 표시된 것을 통해, UNIQUE와 NOT NULL 제약 조건만으로도 기본 키와 동일한 역할을 하는 열이 생성되었음을 알 수 있습니다. 다만 실무에서는 의도를 명확히 드러내기 위해 PRIMARY KEY 키워드를 직접 사용하는 것이 권장됩니다.