Step-by-Step
[MySQL] MyBatis에서 Auto_Increment 값 조정하기 본문
AUTO_INCREMENT 속성을 사용하게 되면, 3 rows를 INSERT 후 모두 DELETE 해도 다음 값이 1이 아니라 4가 된다
처음 테이블을 만들때 부터 중간에 데이터가 삭제되어도 브레이크 없이 계속 올라가는 특징이 있다.
AUTO_INCREMENT 값을 ALTER로 초기화해 줄 수 있다.
ALTER TABLE 테이블명 AUTO_INCREMENT = 초기값
최근 PK 값을 가져와서 등록해주려고 SQL문을 만들었는데,
ALTER TABLE post AUTO_INCREMENT = (SELECT IF(count(*) = 0, 0, max()) FROM post)
BUT 안된다.. 이유가 뭘까
그냥 두 가지 sql 문을 따로 실행해주었다. MyBatis에서 DDL은 안될거같았지만, Update로 해두고 실행하면 된다!
<select id="getMaxId" resultType="Integer">
SELECT IF(count(*) = 0, 0, max(post_id)) FROM post
</select>
<update id="setAutoIncrement">
ALTER TABLE post AUTO_INCREMENT = #{maxid}
</update>
'IT 기술' 카테고리의 다른 글
HTTP vs WebSocket vs Socket.IO (0) | 2023.03.08 |
---|---|
[JavaScript] ExpressJS 간단히 정리 (0) | 2023.03.02 |
[MySQL] 최신 PK 값 가져오기 - last_insert_id() (0) | 2023.02.22 |
[Spring] ResponseEntity<T> 로 응답 구성하기 (0) | 2023.02.20 |
HTTP 상태 코드 (Http Status Code) (0) | 2023.02.18 |
Comments