0

やあみんなはあなたが私を助けることができることを望んでいた。

私はphp開発環境としてxampを使用していますが、自動インクリメントがリセット/減少することがあることに何度も気づきました。

つまり、大きなテーブルがあったことを知っていて、1、2週間前にすべてのエントリを削除しました。今日、新しいエントリをチェックしたところ、最初のエントリのIDは1で、2番目のエントリのIDは2でした(それ以降、さらに2つだけ追加されました)。

フレームワークがこれと関係があるとは思えませんが、私はcodeigniterを使用しています。

知りたいのは、これが発生するはずのことであるか、自動インクリメントがリセットされないことを知って安心できるはずです。テーブルが大きくなりすぎたときにデータを別のテーブルにアーカイブすることを計画しているので、これを求めています。アーカイブされたデータが後で必要になった場合は、そのまま新しいテーブルにコピーします。自動増分リセットのためにIDがすでに存在する場合、これは明らかに問題になります。

4

1 に答える 1

3

これは、特定のストレージエンジンの通常の動作です。ドキュメントを読むと、これが説明されていることがわかります。増分アルゴリズムは、カウンター値をどこかに格納しません。代わりに、現在最も高い値をチェックし、それをインクリメントして新しい値を取得します。

于 2012-10-20T08:26:22.280 に答える