반응형

AUTO_INCREMENT

 

 

개념


특정 데이터는 구분자가 되기위해 PK(Primary key) 설정을 한다.

PK 특징은 고유성(유니크) 가져야하기 때문에 똑같은 데이터를 넣을  없다.

 

그래서 보통 PK int 타입으로 겹치지않게 인덱스(정수값) 계속 올린다.

그때  인덱스(정수값) 체크해 자동으로 올려주는 옵션 바로 AUTO_INCREMENT이다.

자동으로 올려주는 옵션

자동으로 올려주는 옵션

 

한번 설정 해두면 Insert into   마다 자동으로 값을 올려준다.

 

 

조건


기본키(Primary Key)에만 옵션 부여가 가능하다.

 

 

 

문법


테이블 생성시 옵션 부여

CREATE TABLE auto_test(
id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(64));

 

이미 생성한 테이블에 옵션 추가 - Command

ALTER TABLE auto_test MODIFY id INT NOT NULL AUTO_INCREMENT;

이미 생성한 테이블에 옵션 추가 - GUI (HeidiSQL 10.2.0.5599 version)

라디오 버튼 체크하고 밑에 저장을 눌러주면 된다.

 

 

AUTO_INCREMENT 초기화

 

개념


AUTO_INCREMENT 사용하다가 1~5번까지의 데이터를 넣어뒀다가

2~5 데이터를 지우고 데이터를 다시 생성(insert)해보면 다시 2~5 키의 데이터가 생성되는게 아니라

5~8번의 키를 가진 데이터가 생성된다.

 

값을 다시 2~5 데이터로 넣고 싶을 초기화를 해줘야한다.

 

문법


ALTER TABLE [TABLE] AUTO_INCREMENT = [시작 값];

주의 : 테이블에 새로 시작할 값보다 높은 값이 있으면 안됩니다. 

 

 

AUTO_INCREMENT 값을 초기화 후, 테이블 안의 모든 데이터의 ID값을 재조정 하기


무슨 말이냐 하면, 데이터 1000개가 존재하는데 많이 삭제됬다가 다시 생성되고 해서 첫번 데이터가 2000 or 10000 이런식으로 높게 존재할 경우

다시 1000개의 데이터를 1~1000번의 키를 가질 있게 하는 방법이다.

 

문법


ALTER TABLE tableName AUTO_INCREMENT=1;
SET @COUNT = 0;
UPDATE tableName SET auto_id(auto 설정한 컬럼) = @COUNT:=@COUNT+1;

 

 

반응형

+ Recent posts