Language/SQL

[MYSQL] AUTO_INCREMENT 증가값 초기화 및 재정렬하기

멱군 2021. 10. 8. 20:14

데이터를 한번 실수로 넣었더니 무한반복 10000을 넘어가는 실수를 해버렸습니다. MYSQL에서 AUTO_INCREMENT 속성을 가진 칼럼의 값을 재조정하거나 초기화할 필요가 생길 때, 특정 쿼리문을 사용하면 해결이 가능합니다. 데이터 입력이나 수정 과정에서 발생한 문제로 AUTO_INCREMENT 값이 무한대로 증가했거나, 순차적이지 않게 입력되었을 때 어떻게 해당 값을 초기화하고 재정렬하는지에 대해 알아보겠습니다.

 

 

1. AUTO_INCREMENT 값 초기화하기

때론 데이터 입력 시 AUTO_INCREMENT의 값이 의도하지 않게 큰 수로 증가할 수 있다. 예를 들어, 데이터를 한 번 실수로 넣게 되면 AUTO_INCREMENT 값이 10,000을 넘어갈 수 있다. 이럴 때는 해당 값을 초기화하고 원하는 시작값으로 재조정해야 한다.

문제 상황

MYSQL에서 여러 개의 데이터를 한 번에 삽입하려고 시도했더니, 예상보다 많은 데이터가 입력되었다. 이후 새로운 데이터를 삽입하니, AUTO_INCREMENT 값이 17,002와 같이 크게 증가한 상태로 나타났다.

해결 방법

마지막으로 입력된 값의 AUTO_INCREMENT 값을 원하는 숫자로 직접 수정하고, 이후 삽입될 데이터의 시작 값을 설정해주면 된다.

ALTER TABLE 테이블명 AUTO_INCREMENT = 11;

예를 들어 마지막 컬럼의 값이 10이라면 11부터 증가해주세요. 라는 의미가 된다.

 

2. AUTO_INCREMENT 값을 순차적으로 재정렬하기

데이터 삭제나 수정으로 인해 AUTO_INCREMENT 값들이 연속적이지 않게 되는 경우가 있다. 이때 해당 값을 순차적으로 재정렬해주면 데이터 관리가 더 용이해진다.

해결 방법

MYSQL에서 제공하는 변수 설정과 UPDATE 쿼리를 활용하여 AUTO_INCREMENT 값을 순차적으로 재정렬할 수 있다.

SET @CON = 0;
UPDATE 테이블명 SET idx = @CON:=@CON+1;

 

결론

MYSQL에서 데이터 작업을 진행하다 보면 AUTO_INCREMENT 값의 초기화나 재정렬이 필요한 경우가 자주 발생한다. 이러한 문제 상황을 해결하기 위해 적절한 쿼리문을 사용하여 데이터베이스의 무결성을 유지하고, 데이터 관리를 보다 효율적으로 할 수 있다.

mysql insert 할때 여러개를 한번에 넣으려면?

[프로그래밍/SQLD_SQLP] - [MYSQL] 1부터 1000까지 한꺼번에 데이터 삽입(insert)하기와 1~100까지 증가하는 쿼리문(select, dual)

 

[MYSQL] 1부터 1000까지 한꺼번에 데이터 삽입(insert)하기와 1~100까지 증가하는 쿼리문(select, dual)

데이터베이스를 다루면서 때로는 연속된 숫자 값을 사용해야 하는 경우가 있습니다. 이 글에서는 MySQL에서 1부터 1000까지 연속된 숫자를 한번에 데이터로 삽입하는 방법과, 1부터 100까지 증가하

devit.koreacreatorfesta.com