[前][次][番号順一覧][スレッド一覧]

mysql:10854

From: umemoto <umemoto <umemoto@xxxxxxxxxx>>
Date: Mon, 31 Jan 2005 10:14:01 +0900
Subject: [mysql 10854] auto_incrementでご質問

いつもお世話になっております。うめもとです。

auto_incrementの値を途中から10000番台、50000番台といった形で変更した
いとしたとき、下記のような具合に実行すると正常にセット出来るかと思い
ますが、一点疑問点があり質問致します。

下のようなテーブルをテストで作成
CREATE TABLE `test` (
id int auto_increment,
memo text,
PRIMARY KEY  (`id`)
);

insert into test( memo ) values( 'test' );
insert into test( memo ) values( 'test2' );
insert into test( memo ) values( 'test3' );
insert into test( memo ) values( 'test4' );
insert into test( memo ) values( 'test5' );

ALTER TABLEのauto_incrementで
alter table test auto_increment = 110000;といった具合にすると以下の
ような結果が得られる。

Query OK, 5 rows affected
Records: 5  Duplicates: 0  Warnings: 0

これで、6件目からはidは110000からのスタートになるかと思います。が、
5 rows affected(影響範囲5)これは、レコードを上から順に総なめで見て
るのだと思うのですが、上から順に見る必要など果たしているのだろうか?
正しくは

Query OK, 0 rows affected
Records: 0  Duplicates: 0  Warnings: 0

ではという疑問と他に解決策がないものだろうかとふと思ってしまいました。

これって、レコードが200万件あれば、auto_increment=4000000とした場合、 
200万件全てを参照した後、次回インサート時のidを4000000からスタートする
って事ですよね?次回からのauto_increment値を変更したいだけなのに全件
参照する必要性って・・・

参照する時間もかかるので省きたいのと、なぜ、全件も参照する必要性がある
のだろうと思い質問致しました。

どなたか、ご存知の方いらっしゃいましたら教えて頂けませんか?


[前][次][番号順一覧][スレッド一覧]

->   10854 2005-01-31 10:14 [umemoto <umemoto@xxx] auto_incrementでご質問                  
     10855 2005-01-31 17:08 ┗["Mitsutoshi Nakamura]                                       
     10856 2005-01-31 18:12  ┗[umemoto <umemoto@xxx]                                     
     10857 2005-01-31 18:33   ┣[とみたまさひろ <tomm]                                   
     10858 2005-01-31 18:50   ┃┗[umemoto <umemoto@xxx]                                 
     10860 2005-01-31 19:00   ┗[SAKAI Kei <sak@xxxxx]