私がしたいのは、特定のmysqlエントリを選択してテーブルの一番上に移動するPHPスクリプトを実行することです(または挿入するときと同じようにidカラムを自動的にインクリメントします)。select、delete、insertではなくidを更新しますか?
説明:100エントリのテーブルがあります。エントリn。エントリ49は削除され、すべてのデータはまだテーブルに/挿入されているが、IDは101である。
エントリ88と同じ:idカラムを持つ行値88のデータが削除/更新されると、新しいエントリ/同じエントリが更新され、IDは102ですが同じデータが表示されます。
また、スクリプトが実行された後に、mysqlに優しい解決策を求める重複IDのような問題は発生しません。
ご理解いただけましたか?
私の質問は、どのようにすれば最も効果的で簡単な方法ですか?
私は心の中で持っている唯一のオプションは本当に長いですし、不必要に複雑なようだ:、行全体を選択し、それを削除し、すべてのデータを新しい行を挿入し、IDの自動インクリメント自体を聞かせて...
今誰かがこの問題について私の考えを分かち合う気があれば、私は最も感謝しています!
その他の情報:スクリプトは1日に1回、強力なapache専用サーバーが実行されます。最適化は必要ありません。単純な解決策を求める質問は、実際には非常に難しい作業をすることなく、問題を処理する簡単な方法を求めています。
ありがとうございました!私はあなたの答えとコメントのすべての最後の部分をありがとう!私は、この問題を上記のよりも簡単には解決できないと思うので、PHPを使用して、この問題を今閉じています。もう一度答えました皆様に感謝します。 PHPを使うよりも、問題の解決策について考えているなら、ここで答えてください。私はそれを読むでしょう。もしかしたら、2012年にはまだこのスレッドを読んでいない人を助けるでしょう。世界の終わり...その場合、誰もこのスレッドをもう読んでくれないかもしれません。でも、私は未来が私たちの決断だと思っています。 !乾杯!
このようにIDを使用しないでください。別の列を作成し、その列を放棄して喜ばせる。 – Marvo
更新ID ?? **決して** IDを変更することはありません! – TMS
@Marvo。もっと同意できませんでした。 IDは参照や外部キーなどのためのものです。並べ替えのために変更したり、リサイクルしたりしないでください。 – GolezTrol