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 |
Tags
- mysql
- Selenium
- windows forms
- YOLO
- 컨테이너
- 채보
- C
- LIST
- ubuntu
- JSON
- error
- label
- Linux
- SSH
- Visual Studio
- OpenCV
- paramiko
- VS Code
- Python
- pip
- pandas
- 프로그래머스
- 오류
- Docker
- Numpy
- 핑거스타일
- C++
- pytorch
- 기타 연주
- C#
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