실성한 developer

[Mysql]auto_increment 사용(자동증가) 및 재정렬 본문

Study/DB

[Mysql]auto_increment 사용(자동증가) 및 재정렬

실성한님 2018. 9. 17. 14:27

오라클에 시퀀스가 있다면

mysql에는 auto_increment가 있습니다.

먼저 테이블 생성

테이블 생성시 primary key가 들어가야 auto_increment를 사용 할 수 있습니다.

테이블을 생성후 num컬럼과 num2컬럼에 1~5까지의 수를 넣었습니다.(확인 하기 위해)

select * from auto_test;로 확인

null값을 준 컬럼 num에 1부터 5 까지 자동증가가 되었습니다.



하지만

num컬럼의 3데이터를 삭제시 

3이 비워져 있는 상태로 재정렬은 되지 않고 데이터를 삽입하게 되면 6이 입력됩니다.

그래서 중간데이터를 삭제시에는 재정렬을 해줘야함

@cnt를 0으로 만들어

update문으로 num컬럼을 다시 재정렬 하여 num4데이터가 3이 됨

하지만 지금 삽입하게되면 6이 입력되므로 비어있는 5를 시작번호로 설정하여 5부터 입력 되게 설정

데이터 삽입시 정상적으로 값이 입력됩니다.

Comments