質問: テーブルからアイテムを削除するとき、そのテーブルに次のアイテムを追加するとき、そのアイテムは使用可能な最初の未使用IDを使用する必要があります。どうすればこれを達成できますか?すべてのアイテムを削除して新しいアイテムを作成すると、これが起こりました: ![ここに画像の説明を入力してください](https://i.stack.imgur.com/uT74M.png) この場合、アイテムID 21が1のほうがはるかに優れています。
回答: 主キー列は(どのように見えるか)変更しないことをお勧めします。副作用の例として、他のエンティティがプライマリ列を参照している場合、これは失敗するか、関係が壊れます。また、実行される`delete`ごとにテーブル全体の番号を変更する必要がある場合もあります。 動的に自動インクリメントされる数値が必要な場合は、ビューで`row_number()`を使用できます。 ``` create view myview as select row_number() over(order by item_id) item_id, title, description from mytable ``` その後、テーブルの代わりにビューをクエリできます。これにより、常に最新の増分数が得られます。