0

phpMyadminでMySqlを使用しています。主キーを含むテーブルがあります。この主キーは「ユーザーID」であり、「自動増分」フィールドでもあります。このアプリケーションには、「userid」を持つ特定のユーザーを削除する機能もあります。したがって、ユーザーを削除した後、新しいユーザーを再度作成すると、「userid」は次の整数の値を取得します。テーブルに削除を考慮させ、主キー値、削除された番号を割り当てたい。

例:テーブルの「userid」値は-1、2、3、4、5、6、7 ...です。値3のuseridを削除したので、ユーザーの次のレコードを作成するときに、テーブルは次のようになります。ユーザーID値「3」は使用されなくなったため、使用してください。phpmyadminでそれを行うにはどうすればよいですか?

useridの値の数を最小限に抑えるためにこれを実行したいと思います。カウントは、ユーザーIDの5桁の値まで上がる可能性があります。したがって、2桁が以前に削除されてから使用できる場合、この2桁の値を使用すると、データベースのメモリ使用量を節約できます。

4

1 に答える 1

1

次回の挿入時に明示的に指定することで、使用されなくなった ID を割り当てることができます。AUTO_INCREMENT は、自分で指定しない場合にのみ ID を割り当てます。

ただし、ID が実際に使用されていないことを確認してください。使用されていない場合、挿入は失敗します。

そうは言っても、私はこれを行うことを思いとどまらせます。100%確実ではありませんが、MySQL で整数を宣言する場合、整数の桁数に関係なく、整数スペースが必要になると思いますが、この点については明確にします。いずれにせよ、使用するスペースが少し少なくなる可能性があるというマイナーな利点は、ID をいじって失敗する危険を冒す価値はないと思います。

私の経験では、そのようなささいなことは後であなたを悩ませる傾向があり、本当の利点はわかりません.

必要に応じて、メモリ使用量を改善する他の方法を探すことをお勧めします。

于 2014-11-01T00:56:39.743 に答える