MySQL AUTO_INCREMENT 값은 1부터 시작하지만 다음 두 가지 방법으로 변경할 수 있습니다. -
ALTER TABLE 쿼리의 도움으로
ALTER TABLE 쿼리를 사용하여 AUTO_INCREMENT의 시작 값을 다음과 같이 변경할 수 있습니다. -
ALTER TABLE table_name AUTO_INCREMENT = value;
예시
'id' 열이 AUTO_INCREMENT인 테이블을 생성했다고 가정합니다. 이제 값을 삽입하면 다음 쿼리에서 볼 수 있듯이 시퀀스 번호가 1부터 시작합니다.
mysql> Create Table EMP(id int NOT NULL PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(10)); Query OK, 0 rows affected (0.07 sec) mysql> Insert Into EMP(Name) Values('Aryan'); Query OK, 1 row affected (0.02 sec) mysql> Insert Into EMP(Name) Values('Yash'); Query OK, 1 row affected (0.04 sec) mysql> Select * from EMP; +----+-------+ | id | NAME | +----+-------+ | 1 | Aryan | | 2 | Yash | +----+-------+ 2 rows in set (0.00 sec)
이제 시퀀스 번호를 나중에 변경하려면 ALTER TABLE 쿼리를 사용하여 AUTO_INCREMENT 값을 다음과 같이 변경해야 합니다. -
mysql> Alter table emp auto_increment = 10; Query OK, 2 rows affected (0.25 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> Insert Into EMP(Name) Values('Daksh'); Query OK, 1 row affected (0.03 sec) mysql> Insert Into EMP(Name) Values('Shayra'); Query OK, 1 row affected (0.06 sec) mysql> Select * from EMP; +----+--------+ | id | NAME | +----+--------+ | 1 | Aryan | | 2 | Yash | | 10 | Daksh | | 11 | Shayra | +----+--------+ 4 rows in set (0.00 sec)
위의 쿼리는 AUTO_INCREMENT의 값을 10으로 변경했으므로 이후에 새 값을 삽입할 때 10부터 시퀀스 번호를 가져옵니다.
CREATE TABLE 쿼리 사용
테이블을 생성하는 동안 AUTO_INCREMENT 값을 변경할 수도 있습니다. 다음과 같이 CREATE TABLE 쿼리로 AUTO_INCREMENT 값을 지정하여 수행할 수 있습니다. -
CREATE TABLE (Column1 INT PRIMARY KEY NOT NULL AUTO_INCREMENT, Column2 data type) AUTO_INCREMENT = value;
예시
mysql> Create Table EMP1(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(10)) AUTO_INCREMENT = 100; Query OK, 0 rows affected (0.11 sec)
위의 쿼리는 테이블 생성 시 AUTO_INCREMENT 값을 100으로 지정했습니다. 이제 값을 삽입하면 시퀀스 번호는 다음과 같이 기본값 1 대신 100에서 시작합니다. -
mysql> Insert into emp1(name) values('Sohan'); Query OK, 1 row affected (0.04 sec) mysql> Insert into emp1(name) values('Harshit'); Query OK, 1 row affected (0.05 sec) mysql> Select * from emp1; +-----+---------+ | id | NAME | +-----+---------+ | 100 | Sohan | | 101 | Harshit | +-----+---------+ 2 rows in set (0.00 sec)