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

MySQL에서 기본 키(PRIMARY KEY) 삭제하는 방법 완벽 가이드

MySQL에서 테이블의 기본 키(PRIMARY KEY)를 삭제하려면 ALTER TABLE 문을 사용해야 합니다. ALTER TABLE로 테이블 구조를 변경한 뒤, DROP PRIMARY KEY 절을 함께 사용하면 기존 기본 키를 손쉽게 제거할 수 있습니다.

기본 문법

ALTER TABLE yourTableName DROP PRIMARY KEY;

실습 예제

먼저 기본 키가 설정된 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
-> (
-> StudentId int NOT NULL,
-> StudentName varchar(20),
-> StudentAge int,
-> primary key(StudentId)
-> );
Query OK, 0 rows affected (0.48 sec)

1단계: 테이블 구조 확인

DESC 명령어를 사용하여 현재 테이블의 구조를 확인합니다.

mysql> desc DemoTable;

실행 결과는 다음과 같습니다. StudentId 컬럼의 Key 항목이 PRI로 표시되어 있는 것을 확인할 수 있습니다.

+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| StudentId | int(11) | NO | PRI | NULL | |
| StudentName | varchar(20) | YES | | NULL | |
| StudentAge | int(11) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

2단계: 기본 키 삭제

이제 ALTER TABLE과 DROP PRIMARY KEY를 사용하여 기본 키를 삭제합니다.

mysql> alter table DemoTable drop primary key;
Query OK, 0 rows affected (1.70 sec)
Records: 0 Duplicates: 0 Warnings: 0

3단계: 삭제 결과 확인

기본 키가 정상적으로 삭제되었는지 다시 한번 테이블 구조를 확인해 보겠습니다.

mysql> desc DemoTable;

실행 결과를 보면 StudentId 컬럼의 Key 항목에서 PRI 표시가 사라진 것을 확인할 수 있습니다. 이는 기본 키가 성공적으로 제거되었음을 의미합니다.

+-------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| StudentId | int(11) | NO | | NULL | |
| StudentName | varchar(20) | YES | | NULL | |
| StudentAge | int(11) | YES | | NULL | |
+-------------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

주의사항

기본 키를 삭제할 때는 몇 가지 유의할 점이 있습니다.

AUTO_INCREMENT 컬럼이 있는 경우: 해당 컬럼에 AUTO_INCREMENT 속성이 설정되어 있다면, 먼저 AUTO_INCREMENT를 제거한 후 기본 키를 삭제해야 합니다. 그렇지 않으면 오류가 발생합니다.

mysql> alter table DemoTable modify StudentId int NOT NULL;
mysql> alter table DemoTable drop primary key;

데이터 무결성: 기본 키는 테이블 내 레코드의 고유성을 보장하는 중요한 제약 조건입니다. 삭제 전에 해당 테이블을 참조하는 외래 키(Foreign Key)가 있는지 반드시 확인하고, 애플리케이션 로직에 미치는 영향을 검토한 후 진행하는 것이 좋습니다.