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

MySQL에서 기존 컬럼을 기본 키(Primary Key)로 설정하는 방법

MySQL에서는 ALTER 명령어를 사용하여 이미 생성된 테이블의 기존 컬럼에 기본 키(Primary Key)를 설정할 수 있습니다. 테이블을 새로 만들 때 기본 키를 지정하지 않았더라도, 나중에 얼마든지 추가할 수 있다는 점에서 매우 유용한 기능입니다.

기본 키 추가 문법

기존 컬럼에 기본 키를 추가하는 기본 문법은 다음과 같습니다.

ALTER TABLE yourTableName ADD PRIMARY KEY(yourColumnName);

예제 테이블 생성하기

기존 컬럼을 기본 키로 설정하는 과정을 살펴보기 위해, 먼저 테이블을 하나 생성해 보겠습니다. 아래 쿼리는 'UniversityId'와 'UniversityName' 두 개의 컬럼을 가진 테이블을 만드는 예제입니다.

mysql> create table AddingPrimaryKeyDemo
    -> (
        -> UniversityId int,
        -> UniversityName varchar(200)
    -> );
Query OK, 0 rows affected (1.16 sec)

위 쿼리를 보면 테이블 생성 시 기본 키를 지정하지 않았습니다. DESC 명령어를 사용하면 테이블 구조를 확인할 수 있습니다.

mysql> desc AddingPrimaryKeyDemo;

실행 결과는 다음과 같습니다.

+----------------+--------------+------+-----+---------+-------+
| Field          | Type         | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+-------+
| UniversityId   | int(11)      | YES  |     | NULL    |       |
| UniversityName | varchar(200) | YES  |     | NULL    |       |
+----------------+--------------+------+-----+---------+-------+
2 rows in set (0.09 sec)

'Key' 항목이 비어 있는 것을 확인할 수 있으며, 이는 해당 컬럼에 아직 기본 키가 설정되지 않았음을 의미합니다.

기존 컬럼에 기본 키 적용하기

이제 앞서 소개한 문법을 사용하여 기존 컬럼 'UniversityId'에 기본 키를 설정해 보겠습니다.

mysql> alter table AddingPrimaryKeyDemo add primary key(UniversityId);
Query OK, 0 rows affected (1.48 sec)
Records: 0 Duplicates: 0 Warnings: 0

쿼리가 정상적으로 실행되어 'UniversityId' 컬럼에 기본 키가 추가되었습니다. 다시 DESC 명령어를 실행하여 기본 키가 제대로 적용되었는지 확인해 보겠습니다.

mysql> desc AddingPrimaryKeyDemo;

실행 결과는 다음과 같습니다.

+----------------+--------------+------+-----+---------+-------+
| Field          | Type         | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+-------+
| UniversityId   | int(11)      | NO   | PRI | NULL    |       |
| UniversityName | varchar(200) | YES  |     | NULL    |       |
+----------------+--------------+------+-----+---------+-------+
2 rows in set (0.04 sec)

결과 확인

출력 결과에서 'Key' 항목에 PRI가 표시된 것을 확인할 수 있으며, 이는 기본 키가 성공적으로 추가되었다는 의미입니다. 또한 'Null' 항목이 YES에서 NO로 변경되었습니다. 기본 키는 중복 값을 허용하지 않고 NULL 값을 가질 수 없기 때문입니다.

이처럼 ALTER TABLE 명령어와 ADD PRIMARY KEY 구문을 활용하면, 이미 데이터가 들어 있는 테이블이라도 간단하게 기존 컬럼을 기본 키로 설정할 수 있습니다.