22

私のテーブルには、1 から 66,440 のような番号を持つ自動インクリメント ID があり、次の番号は 88846790 + ここから 88846900 までインクリメントされます。

66440 から 88846790 の間にレコードはありません

次の自動インクリメント番号を 66441 にしたいのですが、88846791 かかります。次の自動インクリメントを 66441 に設定するのを手伝ってくれませんか?

4

7 に答える 7

23
alter table tablename AUTO_INCREMENT=664441

すべき

于 2013-07-05T06:39:00.383 に答える
10

ALTER TABLEauto_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を削除または再挿入する必要があります。そうでなければ、次の自動インクリメントはとにかくそうなるからです。505152

データの量と重要性にもよりますが、多くの場合、最善の方法は次のとおりです

これらのプライマリ ID には他の行との関係があり、それらの ID に基づいた web-url でさえある可能性があります。何らかのスクリプトを作成しない限り、これはすべて失敗します。

于 2013-07-05T06:38:48.483 に答える
1
ALTER TABLE tbl AUTO_INCREMENT = 66441;

66441 より大きいレコード ID がない場合は、機能するはずです。

于 2013-07-05T06:40:13.100 に答える
0

私は使用するのが好きです:

ALTER TABLE tablename AUTO_INCREMENT=1

それ以降、エンジンはそれを利用可能な最低値にします。

于 2017-12-11T23:42:14.050 に答える