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

MySQL의 기본 키를 auto_increment로 변경하는 방법은 무엇입니까?

<시간/>

기본 키를 auto_increment로 변경하려면 MODIFY 명령을 사용할 수 있습니다. 먼저 테이블을 생성해 보겠습니다.

mysql> create table changePrimaryKeyInAutoIncrement
   -> (
   -> StudentId int not null primary key,
   -> StudentName varchar(100),
   -> StudentAge int,
   -> StudentAddress varchar(100)
   -> );
Query OK, 0 rows affected (0.63 sec)

이제 desc 명령을 사용하여 테이블의 설명을 확인하겠습니다.

mysql> desc changePrimaryKeyInAutoIncrement;

그러면 다음과 같은 출력이 생성됩니다.

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

위의 샘플 출력을 보면 StudentId 열이 기본 키입니다. 이제 기본 키를 auto_increment:

로 변경해 보겠습니다.
mysql> alter table changePrimaryKeyInAutoIncrement MODIFY StudentId INT AUTO_INCREMENT;
Query OK, 0 rows affected (1.48 sec)
Records: 0 Duplicates: 0 Warnings: 0

다음의 테이블 설명을 다시 한 번 확인해 보겠습니다.

mysql> desc changePrimaryKeyInAutoIncrement;

그러면 다음과 같은 출력이 생성됩니다.

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

위의 샘플 출력을 보면 StudentId 열이 auto_increment로 변경되었습니다.