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

MySQL 기존 테이블 열에서 PRIMARY KEY 제약 조건을 제거하는 방법

MySQL에서 ALTER TABLE 문과 DROP 키워드를 함께 사용하면 기존 테이블의 특정 열에 설정된 PRIMARY KEY(기본 키) 제약 조건을 손쉽게 제거할 수 있습니다.

예제

다음과 같이 'ID' 열에 PRIMARY KEY 제약 조건이 설정되어 있는 'Player' 테이블이 있다고 가정해 보겠습니다.

mysql> DESCRIBE Player;

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

2 rows in set (0.04 sec)

위 결과에서 'ID' 열의 Key 값이 PRI로 표시되어 있는 것을 확인할 수 있습니다. 이는 해당 열이 기본 키로 지정되어 있다는 의미입니다.

PRIMARY KEY 제거하기

이제 PRIMARY KEY 제약 조건을 제거하려면 다음과 같이 ALTER TABLE 문에 DROP PRIMARY KEY 구문을 사용하면 됩니다.

mysql> alter table Player DROP PRIMARY KEY;
Query OK, 0 rows affected (0.31 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> DESCRIBE Player;

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

2 rows in set (0.04 sec)

위 결과 집합을 보면 'ID' 열의 Key 항목이 비어 있는 것을 확인할 수 있습니다. 이는 해당 열의 PRIMARY KEY 제약 조건이 성공적으로 제거되었음을 의미합니다.

참고 사항

PRIMARY KEY를 제거하기 전에는 반드시 다음 사항을 확인해야 합니다.

  • 해당 테이블을 참조하는 외래 키(Foreign Key)가 없는지 확인해야 합니다. 참조 중인 외래 키가 있다면 먼저 이를 삭제해야 오류가 발생하지 않습니다.
  • AUTO_INCREMENT 속성이 설정된 열은 PRIMARY KEY와 함께 사용되므로, 기본 키를 제거하기 전에 AUTO_INCREMENT 속성을 먼저 제거해야 할 수 있습니다.