1. 다음과 같이 2개의 테이블을 생성합니다
CREATE TABLE T_source (
id INT UNSIGNED NOT NULL
)
CREATE TABLE T_target (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
num INT UNSIGNED NOT NULL,
PRIMARY KEY (id)
) AUTO_INCREMENT = 1, ENGINE = InnoDB;
2. T_source 테이블에 100건이 데이터를 입력합니다
3. 다음의 query로 T_source의 id 필드의 값을 T_target의 num 필드에 입력합니다
INSERT INTO T_target (num)
SELECT id FROM T_source
4. T_target의 auto_increment 값을 조회합니다
SHOW TABLE STATUS LIKE 'T_target'
모두 저와 같은 값이 나오시는지 모르겠지만 제 경우에는 auto_increment 값이 128이 나오네요
예상대로라면 101이 나와야 정상일텐데 당황스럽습니다
이렇게 auto_increment의 값이 차이가 나는 이유가 무엇일까요?
혹시 알고 계신다면 답변 좀 부탁드릴께요
그럼 남은 오늘 하루도 즐겁고 알차게 보내세요 :]
* 추신
T_source와 T_target 테이블의 구조가 동일해서 필드 지정없이 아래와 같이 복사를 하게 될 경우에는 예상대로 auto_increment 값은 101이 나옵니다
INSERT INTO T_target
SELECT * FROM T_source
|