테이블이 있고 이제 열 이름에 AUTO_INCREMENT를 추가해야 하는 요구 사항이 있다고 가정해 보겠습니다. 이를 위해 MODIFY 명령을 사용하십시오.
여기에서 먼저 데모 테이블을 생성하겠습니다.
mysql> create table AddingAutoIncrement -> ( -> Id int, -> Name varchar(200), -> Primary key(Id) -> ); Query OK, 0 rows affected (0.47 sec)
위의 테이블을 만들었고 이제 테이블을 변경하여 열 이름 'Id'에 AUTO_INCREMENT를 추가합니다. 구문은 다음과 같습니다 -
alter table yourTableNamet modify yourColumnName int AUTO_INCREMENT;
위의 구문을 적용하여 AUTO_INCREMENT를 추가합니다. 쿼리는 다음과 같습니다.
mysql> ALTER table AddingAutoIncrement modify Id int AUTO_INCREMENT; Query OK, 0 rows affected (1.19 sec) Records: 0 Duplicates: 0 Warnings: 0
위에서 'Id' 컬럼명에 'AUTO_INCREMENT'를 추가했습니다. DESC 명령어를 이용하여 동일한 내용을 확인해보자. 쿼리는 다음과 같습니다 -
mysql> desc AddingAutoIncrement;
샘플 출력.
+-------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+----------------+ | Id | int(11) | NO | PRI | NULL | auto_increment | | Name | varchar(200) | YES | | NULL | | +-------+--------------+------+-----+---------+----------------+ 2 rows in set (0.00 sec)
위의 출력과 열 이름 'Extra'를 확인하세요. 컬럼명 'Extra'에는 auto_increment 키워드가 있습니다. 이것은 키워드가 성공적으로 추가되었음을 나타냅니다.
이제 레코드를 삽입하고 행이 1씩 증가하는지 확인합니다. 쿼리는 다음과 같습니다 -
mysql> insert into AddingAutoIncrement(Name) values('John'); Query OK, 1 row affected (0.20 sec) mysql> insert into AddingAutoIncrement(Name) values('Smith'); Query OK, 1 row affected (0.12 sec) mysql> insert into AddingAutoIncrement(Name) values('Bob'); Query OK, 1 row affected (0.10 sec)
SELECT 문을 사용하여 모든 레코드를 표시합니다.
mysql> select *from AddingAutoIncrement;
다음은 출력입니다.
+----+-------+ | Id | Name | +----+-------+ | 1 | John | | 2 | Smith | | 3 | Bob | +----+-------+ 3 rows in set (0.00 sec)
위의 출력에서 볼 수 있듯이 행이 1씩 증가합니다.