Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Visual Studio
- LIST
- VS Code
- YOLO
- 핑거스타일
- 프로그래머스
- Linux
- OpenCV
- 오류
- mysql
- pytorch
- Docker
- Python
- JSON
- paramiko
- SSH
- C#
- 기타 연주
- C
- C++
- Numpy
- 명령어
- windows forms
- error
- label
- ubuntu
- 채보
- pandas
- pip
- Selenium
Archives
- Today
- Total
기계는 거짓말하지 않는다
MySQL AUTO_INCREMENT 초기화, 정렬, 확인 본문
테스트 시 AUTO_INCREMENT 설정한 테이블 컬럼을 초기화 하고 싶을때가 있다.
ALTER TABLE table_name AUTO_INCREMENT = 1; # AUTO_INCREMENT 1 초기화
delete 를 많이 하지는 않지만 row 를 delete 할 경우 비게 되는데 그 자리의 숫자는 다시 채워지지 않는다.
한꺼번에 재정렬을 할 경우 사용자 지정 변수를 이용할 수 있다.
SET @CNT = 0;
UPDATE mytable SET table_name.auto_inc_column_name = @CNT := @CNT+1; # 전체 재정렬
이후 AUTO_INCREMENT 를 마지막 할당된 다음 숫자로 초기화해준다. ex) 5일 경우 6으로
빠진 숫자 중 가장 작은 숫자를 알고싶다면 1씩 더해준 값과 포함 여부를 비교하면 알 수 있다.
SELECT MIN(auto_inc_column_name + 1)
FROM restaurant
WHERE (auto_inc_column_name + 1) NOT IN (SELECT auto_inc_column_name FROM table_name);
AUTO_INCREMENT 확인
SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES WHERE table_name = 'table_name';
# 현재 AUTO_INCREMENT 의 값
SELECT last_insert_id(); # 마지막으로 할당된 AUTO_INCREMENT 값
'DB > MySQL' 카테고리의 다른 글
MySQL 인덱스 추가 (0) | 2021.03.08 |
---|---|
MySQL 두 테이블의 count 결과 합계 (0) | 2020.12.20 |
MySQL 외래키 제약조건 foreign key 수정, 삭제 오류 (0) | 2020.12.20 |
MySQL ALTER TABLE (0) | 2020.12.06 |
MySQL Schema 생성, 선택, Table 생성 (0) | 2020.12.02 |
Comments