테이블에 기본 키를 설정한 후, 기본 키를 삭제하려면 어떻게 해야 하나요? 다음 글에서는 MySQL에서 기본 키를 삭제하는 방법을 소개하겠습니다. 도움이 되셨으면 좋겠습니다.
우선 기본 키 삭제 구문을 살펴보겠습니다.
ALTER TABLE TABLE_NAME DROP PRIMARY KEY;
MySQL에서 기본 키를 삭제할 때 고려해야 할 사항 두 가지 상황:
1. 기본 키 열에는 제약 조건이 없으며 기본 키를 직접 삭제할 수 있습니다.
예:
mysql> create table test1_3( -> id int not null primary key, -> name char(10) -> ); Query OK, 0 rows affected (0.01 sec)
기본 키를 삭제하는 데 직접 사용할 수 있습니다
mysql> alter table test1_3 drop primary key; Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0
2. 자동 증가(AUTO_INCREMENT 속성) 기본 키인 경우
#🎜 🎜#예:mysql> create table test1_2( -> id int not null auto_increment, -> name char(10),-> primary key(id) -> ); Query OK, 0 rows affected (0.00 sec) mysql> desc test1_2; +-------+----------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+----------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | char(10) | YES | | NULL | | +-------+----------+------+-----+---------+----------------+ 2 rows in set (0.00 sec)직접 삭제하면 오류가 보고됩니다.
mysql> alter table test1_2 drop primary key;출력:
ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key #这说明此列是自动增长列,无法直接删除열의 속성도 AUTO_INCREMENT가 있으므로 기본 키를 삭제하기 전에 먼저 이 열의 자동 증가 속성을 제거해야 합니다.
mysql> alter table test1_2 modify id int; Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table test1_2 drop primary key; Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0
위 내용은 mysql에서 기본 키를 삭제하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!