MySQl 에서 테이블 생성 쿼리에서 맨 마지막의 AUTO_INCREMENT=3

vudghkzm의 이미지

MySQl 에서 테이블 생성 쿼리문들 중에...다음과 같은 것들이 있더군요.

CREATE TABLE 'kldp' (
...
...
) TYPE=MyISAM AUTO_INCREMENT=3;

여기서 AUTO_INCREMENT=3 는 무엇을 의미하며, 어떨때 써야 하는지요? 그리고 안 쓰면 어떻게 되는건가요?

익명 사용자의 이미지

vudghkzm wrote:
MySQl 에서 테이블 생성 쿼리문들 중에...다음과 같은 것들이 있더군요.

CREATE TABLE 'kldp' (
...
...
) TYPE=MyISAM AUTO_INCREMENT=3;

여기서 AUTO_INCREMENT=3 는 무엇을 의미하며, 어떨때 써야 하는지요? 그리고 안 쓰면 어떻게 되는건가요?

3이 byte인지 아니면 3*default blocksize는 잘 모르겟습니다만

저옵션을안줬을때 디폴티 테이블용량이 다차면 에러가 떨어지죠.. 저 옵션이 있으면 테이블 용량이 정해진 테이블스페이스안에서는 자동 증가합니다.

처로의 이미지

MySQL의 테이블 생성문 뒤에 옵션으로 붙는 AUTO_INCREMENT은 테이블 내에서 auto_increment로 지정된 컬럼의 초기값을 지정하는 것이랍니다.

Quote:
AUTO_INCREMENT

The initial AUTO_INCREMENT value for the table. This works for MyISAM only, for MEMORY as of MySQL 4.1, and for InnoDB as of MySQL 5.0.3. To set the first auto-increment value for engines that do not support the AUTO_INCREMENT table option, insert a dummy row with a value one less than the desired value after creating the table, and then delete the dummy row.

For engines that support the AUTO_INCREMENT table option in CREATE TABLE statements, you can also use ALTER TABLE tbl_name AUTO_INCREMENT = n to reset the AUTO_INCREMENT value.

테이블스페이스의 크기와 관련한 위의 답변은 InnoDB를 설정할 때 autoextend를 지정하는 것에 대해 말씀하는 게 아닌가요?