Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

기본 키 및 auto_increment를 제거하는 MySQL ALTER 열?

<시간/>

ALTER 명령을 사용하여 기본 키와 auto_increment를 제거할 수 있습니다. 구문은 다음과 같습니다 -

ALTER TABLE yourTableName DROP PRIMARY KEY,change yourColumnName yourColumnName data type;

위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -

mysql> create table removePrimaryKey
   -> (
   -> StudentId int NOT NULL AUTO_INCREMENT,
   -> StudentFirstName varchar(20),
   -> StudentLastName varchar(20),
   -> PRIMARY KEY(StudentId)
   -> );
Query OK, 0 rows affected (0.47 sec)

DESC 명령을 사용하여 테이블의 설명을 확인하십시오. 구문은 다음과 같습니다 -

desc yourTableName;

DESC를 사용하여 'removePrimaryKey' 테이블의 설명을 확인하십시오. 쿼리는 다음과 같습니다 -

mysql> desc removePrimaryKey;

다음은 출력입니다 -

+------------------+-------------+------+-----+---------+----------------+
| Field            | Type        | Null | Key | Default | Extra          |
+------------------+-------------+------+-----+---------+----------------+
| StudentId        | int(11)     | NO   | PRI | NULL    | auto_increment |
| StudentFirstName | varchar(20) | YES  |     | NULL    |                |
| StudentLastName  | varchar(20) | YES  |     | NULL    |                |
+------------------+-------------+------+-----+---------+----------------+
3 rows in set (0.01 sec)

이제 위의 Key 및 Extra 열을 살펴보십시오. Key 열에는 PRI가 있고 Extra 열에는 auto_increment가 있습니다. 처음에 설명한 ALTER DROP 명령을 사용하여 둘 다 제거해야 합니다. −

쿼리는 다음과 같습니다 -

mysql> alter table removePrimaryKey DROP PRIMARY KEY,change StudentId StudentId int;
Query OK, 0 rows affected (1.79 sec)
Records − 0 Duplicates − 0 Warnings − 0

위의 기본 키와 자동 증가를 성공적으로 제거했습니다. 이제 기본 키와 auto_increment가 테이블에서 제거되었거나 다음 쿼리를 사용하지 않았는지 확인합니다. -

mysql> desc removePrimaryKey;

다음은 출력입니다 -

+------------------+-------------+------+-----+---------+-------+
| Field            | Type        | Null | Key | Default | Extra |
+------------------+-------------+------+-----+---------+-------+
| StudentId        | int(11)     | YES  |     | NULL    |       |
| StudentFirstName | varchar(20) | YES  |     | NULL    |       |
| StudentLastName  | varchar(20) | YES  |     | NULL    |       |
+------------------+-------------+------+-----+---------+-------+
3 rows in set (0.07 sec)