데이터를 한번 실수로 넣었더니 무한반복 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)
'Language > SQL' 카테고리의 다른 글
[MYSQL] 검색한 결과 여러개 한번에 삭제 Delete 와 select에서 IN 사용하기 (0) | 2021.11.09 |
---|---|
[MYSQL] 검색결과 값 합치기 (select, CONCAT, GROUP_CONCAT) (0) | 2021.10.08 |
[MYSQL] 테이블(TABLE)과 컬럼(COLUMN)의 코멘트(COMMENT) 정보 조회하기 (0) | 2021.05.12 |
[MYSQL] 1부터 1000까지 한꺼번에 데이터 삽입(insert)하기와 1~100까지 증가하는 쿼리문(select, dual) (0) | 2021.03.03 |
[MYSQL] 쿼리문으로 연령대별 인원수 평균점수 구하기 (0) | 2021.03.02 |