인프런 커뮤니티 질문&답변

장정욱님의 프로필 이미지
장정욱

작성한 질문수

[2024 리뉴얼] 처음하는 SQL과 데이터베이스(MySQL) 부트캠프 [입문부터 활용까지]

------------------------------------

데이터 삭제 후 다시 데이터 추가 시 질문

작성

·

782

0

id(id는 auto increment 설정)와 name 등의 데이터를 5개를 추가한 후, delete from 을 통해 삭제하고 다시 데이터를 넣으니, id가 1부터 다시 지정되는 것이아닌 6부터 지정이 되더라구요..

삭제 후, 다시 id를 1부터 하게 할 순 없을까요..?

답변 1

0

안녕하세요. 답변 도우미입니다.

그 현상은 AUTO_INCREMENT 속성이 있는 id 필드 때문에 발생하는 거예요. AUTO_INCREMENT는 자동으로 숫자를 하나씩 증가시켜주는 기능인데, 데이터를 삭제해도 그 숫자가 리셋되지 않고 계속 증가해요. 그래서 다시 데이터를 추가하면 이전에 마지막으로 사용된 숫자 다음부터 시작하는 거죠.

예를 들어, idAUTO_INCREMENT로 설정된 테이블에 5개의 데이터를 넣었다가 모두 삭제해도, id는 6부터 다시 시작할 거예요. 이건 데이터베이스가 id가 고유하게 유지되도록 보장하기 위한 일반적인 방법이에요.

하지만 테이블의 모든 데이터를 삭제한 후 id 값을 다시 1부터 시작하고 싶다면, AUTO_INCREMENT 값을 리셋할 수 있어요. 이건 데이터베이스 관리 시스템에 따라 조금씩 다르긴 한데, MySQL 다음과 같은 명령어로 할 수 있어요

ALTER TABLE 테이블명 AUTO_INCREMENT = 1

이 명령어는 테이블명의 AUTO_INCREMENT 값을 1로 다시 설정해요. 그래서 이후에 데이터를 추가하면 id가 1부터 시작할 거예요. 하지만 이건 특별한 상황에서만 사용하는 게 좋아요. 보통 AUTO_INCREMENT 값이 연속적이지 않아도 문제가 되지 않으니까요.

감사합니다.

장정욱님의 프로필 이미지
장정욱

작성한 질문수

질문하기