2

行を挿入して削除した場合、A_I はどのキーから続行するかを認識します [UNIQUE で何かを知っています] が、プロセスと mysql が値を格納する場所について知りたいと思っています。私の個人的な知識のためだけに

乾杯。

4

3 に答える 3

4

MySQL は現在の値を内部的に維持します。

一度使用された値は、二度と使用されません。これには、ロールバックされたトランザクション、失敗した挿入、削除されたレコードなどで使用される値も含まれます。

事実上、MySQL がid を使用しようとした場合でも、カウンターが増加し、MySQL はそれらの古い値を再び使用することはありません。この素朴さにより、一意の値を割り当てるシステムがよりシンプルになり、より高速で信頼性の高いものになります。


まあ、ほとんど。これをオーバーライドして、選択した任意の数からの値の自動インクリメントを MySQL に強制的に再開させることができます。しかし、それは一般的に必要ではなく、推奨もされていません。

于 2012-05-29T10:59:30.317 に答える
2

テーブルが自動インクリメントを使用するように設定されている場合、何かが挿入されるたびにインクリメントされる別の変数に現在のインデックスが格納されます。

于 2012-05-29T10:57:50.900 に答える
0

LAST_INSERT_ID関数を使用して、格納された変数を取得できます。

于 2012-05-29T11:02:08.280 に答える