[MySQL || MariaDB] AUTO_INCREMENT 옵션 총 정리
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;
'MariaDB' 카테고리의 다른 글
[MySQL || MariaDB] 자주 쓰는 날짜 API와 날짜 실전 예제 총 정리 (1) | 2019.11.12 |
---|---|
[MySQL || MariaDB] 서브쿼리(Subquery) 총 정리 (1) | 2019.11.12 |
[Mysql || MariaDB] JOIN 총 정리 (0) | 2019.11.10 |
[Mysql || MariaDB] Select 문 한번에 여러 개 Count()카운트 조회 (0) | 2019.10.31 |
[Mysql || MariaDB] group by & having (0) | 2019.10.24 |