私のテーブルには、1 から 66,440 のような番号を持つ自動インクリメント ID があり、次の番号は 88846790 + ここから 88846900 までインクリメントされます。
66440 から 88846790 の間にレコードはありません
次の自動インクリメント番号を 66441 にしたいのですが、88846791 かかります。次の自動インクリメントを 66441 に設定するのを手伝ってくれませんか?
私のテーブルには、1 から 66,440 のような番号を持つ自動インクリメント ID があり、次の番号は 88846790 + ここから 88846900 までインクリメントされます。
66440 から 88846790 の間にレコードはありません
次の自動インクリメント番号を 66441 にしたいのですが、88846791 かかります。次の自動インクリメントを 66441 に設定するのを手伝ってくれませんか?
alter table tablename AUTO_INCREMENT=664441
すべき
ALTER TABLE
auto_increment 値を変更するために使用できます。
ALTER TABLE my_table AUTO_INCREMENT = 66441;
詳細については、MySQL リファレンスを参照してください。
88846790 より大きい ID を持つすべての行を再挿入することを忘れないでください
66441 より大きい ID の行を削除しないと、
自動インクリメントの変更は何もしません。
例:
ID Value
---- --------
1 C
2 A
4 D
50 A
51 C
自動インクリメントを変更したい場合は、最初にand5
を削除または再挿入する必要があります。そうでなければ、次の自動インクリメントはとにかくそうなるからです。50
51
52
データの量と重要性にもよりますが、多くの場合、最善の方法は次のとおりです。
これらのプライマリ ID には他の行との関係があり、それらの ID に基づいた web-url でさえある可能性があります。何らかのスクリプトを作成しない限り、これはすべて失敗します。
ALTER TABLE tbl AUTO_INCREMENT = 66441;
66441 より大きいレコード ID がない場合は、機能するはずです。
私は使用するのが好きです:
ALTER TABLE tablename AUTO_INCREMENT=1
それ以降、エンジンはそれを利用可能な最低値にします。