카테고리 없음

AUTO_INCREMENT

딸기버블티 2020. 12. 18. 22:50

>> AUTO_INCREMENT

테이블의 속성이 AUTO_INCREMENT 로 지정되어 있으면,

INSERT 에서는 해당 열이 없다고 생각하고 입력해도 된다.

 

AUTO_INCREMENT 는 자동으로 1부터 증가하는 값을 입력해주며, 

AUTO_INCREMENT로 지정할 때는 꼭 PRIMARY KEY 또는 UNIQUE 로 지정해주어야 한다.

 

아래는 AUTO_INCREMENT 를 사용하는 예시이다.

 

1
2
3
4
5
CREATE TABLE testtbl2 (
    id INT AUTO_INCREMENT PRIMARY KEY,
    userName CHAR(3),
    age INT
);
 
cs

AUTO_INCREMENT 를 이용한 id 컬럼을 생성해주고,

 

1
2
3
INSERT INTO testtbl2 VALUES (NULL'길동'25);
INSERT INTO testtbl2 VALUES (NULL'길자'22);
INSERT INTO testtbl2 VALUES (NULL'길순'21);
cs

INSERT 입력시 NULL 로 넣어주면,

id 가 1부터 1씩 증가하여 자동 생성된다.

 

AUTO_INCREMENT 가 어디까지 증가되었는지 확인하려면.

1
SELECT LAST_INSERT_ID();
cs

쿼리를 실행하면 마지막에 입력된 값을 보여준다.

 

 

만약 AUTO_INCREMENT 를 100부터 입력되게 변경해주고 싶다면

1
ALTER TABLE testtbl2 AUTO_INCREMENT=100;
cs

해당 SQL 문을 사용해주면 된다.

 

위의 SQL 문은 AUTO_INCREMENT 가 1씩 증가한다.

만약 1씩 증가하지 않고 다른 증가값을 지정하고 싶다면

서버 변수인 @@auto_increment_increment 변수를 변경시켜야 한다.

 

위 testtbl2 에 증가값을 5로 증가시켜보자.

 

1
SET @@auto_increment_increment = 5;
cs

해당 쿼리 실행 후 아래 INSERT 문을 실행시키면

 

1
2
INSERT INTO testtbl2 values (NULL'민수'5);
INSERT INTO testtbl2 values (NULL'민지'7);
cs

다음과 같은 결과가 반환된다.