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

MySQL 테이블에서 기본 키(PRIMARY KEY)를 제거하는 방법

네, 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 속성을 제거한 후에 기본 키를 삭제해야 오류 없이 진행됩니다. 또한 기본 키를 제거하면 데이터 무결성 검증과 조인 성능에 영향을 줄 수 있으므로, 운영 환경에서는 신중하게 판단하는 것이 좋습니다.