MySQL에서 테이블의 기본 키(Primary Key)를 제거하려면 DROP PRIMARY KEY 명령어를 사용하면 됩니다. 개념을 쉽게 이해하기 위해 먼저 특정 컬럼을 기본 키로 설정한 테이블을 생성해 보겠습니다.
1. 기본 키가 있는 테이블 생성
mysql> create table PrimaryKeyDemo
-> (
-> id int not null,
-> Primary key(id)
-> );
Query OK, 0 rows affected (0.60 sec)
2. 테이블 구조 확인하기
이제 DESC 명령어를 사용하여 테이블의 구조를 확인해 보겠습니다. 실행할 쿼리는 다음과 같습니다.
mysql> desc PrimaryKeyDemo;
실행 결과는 아래와 같습니다.
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id | int(11) | NO | PRI | NULL | |
+-------+---------+------+-----+---------+-------+
1 row in set (0.06 sec)
위 출력 결과를 보면 'Key' 컬럼에 PRI라는 키워드가 표시되어 있습니다. 이는 id 컬럼이 기본 키로 설정되어 있다는 것을 의미합니다.
3. ALTER TABLE로 기본 키 제거하기
이제 ALTER 문과 DROP PRIMARY KEY 명령어를 조합하여 기본 키를 제거해 보겠습니다. 실행할 쿼리는 다음과 같습니다.
mysql> alter table PrimaryKeyDemo drop primary key;
Query OK, 0 rows affected (1.70 sec)
Records: 0 Duplicates: 0 Warnings: 0
4. 기본 키 제거 여부 확인하기
기본 키가 성공적으로 제거되었는지 다시 한번 확인해 보겠습니다.
mysql> DESC PrimaryKeyDemo;
아래 출력 결과를 보면 앞서 기본 키를 삭제했기 때문에 더 이상 PRI 표시가 나타나지 않습니다.
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id | int(11) | NO | | NULL | |
+-------+---------+------+-----+---------+-------+
1 row in set (0.00 sec)
참고 사항
기본 키를 제거할 때 주의할 점도 있습니다. 만약 해당 컬럼에 AUTO_INCREMENT 속성이 설정되어 있다면, 먼저 AUTO_INCREMENT 속성을 제거한 후 기본 키를 삭제해야 합니다. 그렇지 않으면 오류가 발생할 수 있습니다. 또한 기본 키를 제거하면 해당 컬럼의 고유성(unique) 제약 조건도 함께 사라지므로, 데이터 무결성에 영향을 줄 수 있다는 점을 반드시 고려해야 합니다.