네, MySQL에서는 DROP 구문을 사용하여 테이블의 기본 키(Primary Key)를 제거할 수 있습니다. 기본 문법은 다음과 같습니다.
ALTER TABLE 테이블이름 DROP PRIMARY KEY;
1. 예제 테이블 생성하기
먼저 실습용 테이블을 하나 만들어 보겠습니다.
mysql> CREATE TABLE DemoTable
(
UserId int NOT NULL PRIMARY KEY
);
Query OK, 0 rows affected (0.58 sec)2. 테이블 구조 확인하기
DESC 명령어를 사용하면 테이블의 구조를 확인할 수 있습니다.
mysql> DESC DemoTable;
실행 결과를 보면 UserId 컬럼의 Key 항목에 PRI가 표시되어 있는데, 이것이 해당 컬럼이 기본 키로 설정되어 있다는 의미입니다.
+--------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+---------+------+-----+---------+-------+ | UserId | int(11) | NO | PRI | NULL | | +--------+---------+------+-----+---------+-------+ 1 row in set (0.01 sec)
3. 기본 키 제거하기
다음 쿼리를 실행하면 테이블에서 기본 키를 제거할 수 있습니다.
mysql> ALTER TABLE DemoTable DROP PRIMARY KEY; Query OK, 0 rows affected (1.51 sec) Records: 0 Duplicates: 0 Warnings: 0
4. 제거 후 결과 확인하기
다시 한번 테이블 구조를 확인해 보겠습니다.
mysql> DESC DemoTable;
아래 출력 결과에서 확인할 수 있듯이, Key 항목이 비어 있으며 더 이상 기본 키가 표시되지 않습니다.
+--------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+---------+------+-----+---------+-------+ | UserId | int(11) | NO | | NULL | | +--------+---------+------+-----+---------+-------+ 1 row in set (0.01 sec)
참고 사항
기본 키를 제거할 때 주의할 점도 있습니다. 만약 해당 컬럼이 AUTO_INCREMENT 속성을 가지고 있다면, 먼저 AUTO_INCREMENT 속성을 제거한 후에 기본 키를 삭제해야 오류 없이 진행됩니다. 또한 기본 키를 제거하면 데이터 무결성 검증과 조인 성능에 영향을 줄 수 있으므로, 운영 환경에서는 신중하게 판단하는 것이 좋습니다.