いくつかの理由から、実際にはそうしたくありません。
まず、ページが開いていると問題が発生する可能性があります。ユーザーがエントリの編集ページにいて、エントリid = 4
を削除して、id = 3
提案どおりにIDを更新するとします。ここで、編集者が送信を押すと、ID が自分のページから取得され、古いエントリ 4 の代わりに新しいエントリ 4 が更新されます。これは率直で単純な例ですが、それ以外にも多くのことがあります。このレベルではうまくいかない可能性があります。
第二に、これをプログラミングする際には多くの作業が必要です。まず、列を更新する必要があります。次に、MySQL が次のエントリに与える番号を認識していることも確認する必要があります。そして、そのすべてが、上記の点でそれほど多くの問題が発生しないことを確認する環境で機能する必要があります (これは非常に難しいことです)。これは、何もしない場合に比べて大変な作業です。
3 つ目の問題は、パフォーマンスのオーバーヘッドが大きいことです。何千ものエントリを持つデータベースがあり、ID の低いエントリを削除することを想像してみてください。突然、より高い ID を持つすべてのエントリを更新する必要があります。これは、サイトがこのタスクを実行していて、同時に他に多くのことを処理できないため、サイトが応答しなくなることを意味している可能性があります (実際、最初のポイントのような問題が発生しないようにするために、この更新プロセス全体から結果が得られる可能性があるため、同時に他のことを行わないようにする必要があります (または、データの別のコピーなどで作業するようにしてください)。
私の提案は、他の人が言っていることと一致します。そのままにしておいて、これについて心配する必要はありません。auto_increment
各値に一意の識別子を簡単に付与するという 1 つの目的のみを目的としています。この識別子を使用して、同じエントリのみを識別して参照します。おそらく、これらの識別子でソートすることについて主張することもできますが、特定の順序を持つこと以上のものはありません (それでも、人々はこの使用法に反対するでしょう)。
ID を更新しようとする代わりに、この問題を解決する別の場所を探す必要があります。問題が純粋に自分の感じ方である場合、それは簡単です。気分が良くないかもしれませんが、これらすべての ID を更新することは、探している解決策ではないことを自分自身に納得させる必要があります。数値を別の場所で使用すると、問題の解決が少し複雑になる可能性があります。ただし、PHP を使用して各エントリの数値を生成する可能性は常にあります。これは、HTML コンテンツの生成に数値が使用される場合に、最も間違いなくそうする論理的な場所です。連番を使用する場所について詳細を提供すると、その場合の解決方法を調べることができます。