http://hellogk.tistory.com/32


MySQL 시퀀스 생성 및 초기화하기

MySQL의 경우 시퀀스 생성이 간단합니다.

테이블 생성 시 auto_increment라는 속성을 시퀀스로 지정해줄 컬럼에 적용만 해주면 됩니다.

예를들어보도록 하겠습니다.


auto_increment를 적용한 임시 테이블생성

CREATE TABLE sequence_table(
   seq int auto_increment primary key,
   title varchar(20)
)

위와같이 임의의 테이블을 생성해보았습니다.



코드를 보시면 seq 컬럼에 auto_increment라는 속성이 지정되어있습니다.

INSERT 문을 통해서 title 컬럼만 데이터 추가를 해주면 알아서 seq 컬럼에는 1씩 자동증가하는 넘버가 부여가 됩니다.



한번 데이터를 삽입해보도록 하겠습니다.


INSERT 데이터

insert into sequence_table(title)
values('제목1');
insert into sequence_table(title)
values('제목2');


실행결과






title 컬럼만 insert함으로써 seq컬럼에 자동으로 1씩증가되어 등록이 되었습니다.

하지만 현재 상태에서 모든 데이터들을 삭제를 한다음에 다시 insert 쿼리를 시도 하게 된다면 

seq컬럼에 insert되는 데이터는 3부터 등록이 되게 됩니다.



하다가 실수로 시퀀스 값을 대입해서 넣어서 이전 자료와 격차가 생겨버렸다던가 할 때

다음의 방법으로 고친다.


http://www.cyberpr.co.kr/community/community.php?act=v&bid=database&seq=1052


MySQL 자동증가, auto increment 값 초기화 하기

 

※ 경고
높이뜬새의 모르는 사람이 없는 팁시리즈 입니다.
이 팁시리즈는 지면낭비라는 항의시에 즉각 중단됩니다.


테이블 생성시에 아래와 같이 auto_increment 라고 지정해주면 그 컬럼(필드)는 
자동 증가 값을 가지게 되는데요..

create table test_table (
idx int NOT NULL auto_increment,
name varchar(255),
... 블라 블라,
... 블라 블라,
... 블라 블라,  
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=euckr;


가끔은 이놈을 초기화 시켜야 할때가 있습니다. 초기화 시키기 위한 꼬라
지는 아래와 같습니다.

ALTER TABLE [테이블명] AUTO_INCREMENT=[시작할려는 순서]


예) test_table의 자동증가를 1부터 시작하게 초기화 
ALTER TABLE test_table AUTO_INCREMENT=1 

'프로그래밍 > MySQL' 카테고리의 다른 글

MySql DB 작성해보기  (1) 2016.03.13
MySQL 저장 프로시져 내에서 발생한 에러 처리 (Error Handling)  (0) 2016.02.23
MySql 설치하기  (0) 2016.02.21
Auto Increment란  (0) 2016.02.05
MySql 주석을 달자  (0) 2016.02.01
MY SQL 데이터 타입  (0) 2016.01.21
Posted by GENESIS8

댓글을 달아 주세요