2016-06-14 9 views
0

データベースから既存のレコードを削除し、Django管理インターフェースを介して全く同じレコードを再作成すると、Django管理インターフェースのid値が連続していないことが示されます。たとえば、id値のレコードは6、前のレコードは5、次にid 6のレコードは削除されます。私がそれを再作成すると、id値は6ではなく7になります。エラーとはどのようにしてこの問題を解決できますか?django管理インターフェースでID値が連続していない

+1

いいえ、エラーではありません。主キーはエンティティごとに一意であり、削除するだけで再利用されることはありません。 – solarissmoke

答えて

2

これは正しい動作です。主キーは、他のテーブルで参照されているときに競合を避けるために、再利用されるべきではありません。あなたが本当にreset the Auto Increment of PKしたい場合は、(MySQL用)ALTER TABLE tablename AUTO_INCREMENT = 1を行うことができますHow to restore a continuous sequence of IDs as primary keys in a SQL database?

はそれについての詳細は、このSO質問を参照してください。ギャップがあっても、使用されている最高値よりも低い値にリセットできないなど、他のDBには異なる制限があります(MySQL:InnoDB)。

関連する問題