私はデータベース全体のシナリオを初めて知り、学習します。私はデータベースmysqlを持っており、私はフィールドなどを編集するためにphpmyadminを使用しています。私はプライマリとして設定されているauto_incremenet 'id'フィールドを作成しました。 5つのフィールドを追加すると、IDは '1,2,3,4,5'になります。これらのフィールドをすべて削除して5つのフィールドを追加すると、なぜIDは '6,7,8,9,10'になりますか? (技術的に他のフィールドはもはや存在しないので0に戻るのではなく、独自の権利ですか?) IDを順次数値にする方法はありますか? 1,2,3,4,5、データベースからレコードを削除すると、mysql
3
A
答えて
5
あなたはそれを心配する必要はありません。あなたのプライマリキーは、十分大きな数を保持できる符号なしintでなければなりません。
0
1
これは、リレーショナルデータベースシステムを使用すると、行を他の行(通常はそのID)に「リンク」できるためです。 IDの再利用を開始すると、混乱する状況に終わることがあります。
あなたは次のクエリ使用したいものは何でもAUTO_INCREMENTカウンターをリセットすることができます:あなたは、テーブル内のすべての行を削除する場合
ALTER TABLE tableName AUTO_INCREMENT=123
を、あなたはまた、カウンタをリセットしますTRUNCATEを使用することができます。
TRUNCATE TABLE tableName
0
あなたは、auto_incremented値を付け直すここhttp://www.dbuggr.com/milly/reset-auto-increment-mysql/ソリューションについての詳細を読むことができるように、自動インクリメントをリセットする必要があります。
1
私はこの動作の主な理由は効率だと思います。つまり、MySQLは使用されていない番号を追跡する必要はなく、最後に使用された番号のみを知る必要があります。
関連する問題
- 1. MySQLデータベースからレコードを削除する
- 2. MySQLデータベースからレコードを1つ削除する
- 3. データベースからレコードを削除する
- 4. Accessデータベースからのレコードの削除、削除中のエラー
- 5. c2dm登録解除時にmysqlからレコードを削除
- 6. データベースcakephpのレコードを削除する
- 7. PHP - MySQLレコードを削除する
- 8. ファイルをアップロードするときにデータベースからレコードが削除される
- 9. インデックスページからレコードを削除する
- 10. DataViewからレコードを削除する
- 11. 削除されたレコードをMySQLから取り出す方法
- 12. データベースから特定のイメージを削除する[simple php/mySql]
- 13. MYSQLデータベースから削除された行を取得する
- 14. MySQLデータベースから特権を削除する
- 15. データベースから削除せずにhas_manyからレコードを削除しますか? (レール2.3.5)
- 16. Mysqlデータベースのデータを削除する
- 17. mysqlテーブルから古いレコードを削除するが、バックアップを保持する
- 18. mysql複数のレコードをチェックボックスとサブミットボタンで削除する
- 19. C#からデータベースを削除する
- 20. データベースからHTMLエンティティを削除する
- 21. データベースから1行を削除する
- 22. MySQLテーブルから別のテーブルにあるレコードを削除する方法
- 23. MySQLをモーダルブートストラップからアップデート&削除する
- 24. MySQL DBからブロブを削除する
- 25. テーブルから行を削除するmysql
- 26. Google App Engineテーブルからレコードを削除
- 27. データベースからレコードのリストを正しく削除する方法は?
- 28. ページ内のアクションに基づいてデータベースからレコードを削除する
- 29. 結合テーブルのmysql削除レコード
- 30. sqliteデータベースから削除 - Android
プライマリキーは一度しか使用できません。したがって、レコードが削除されても、PKは新しいレコードに再割り当てされません。 –
"InUseID"のようなものを追跡する必要がある場合は、別のフィールドが必要になり、プライマリキー "ID"と同じではないことを確認してください。 – Matt