2016-06-27 12 views
0

行を移動するためのベストプラクティスは何ですか?アイテムの順序を変更したい場合があります。今、order_idという名前の新しい列を作成した場合、行を削除または選択すると失敗しません。行の位置を処理するためのベストプラクティス

もう1つの方法は、ID以外の値だけが変更されるように、プライマリIDで値を完全に切り替えることです。しかし私は人々がいつも使っているものを知らない。あなたには物事の順序を変更する能力を与える非常に多くのウェブサイトがあります。それで彼らはそうするのですか?

+4

SQLクエリ( 'order by')から結果セットをソートします。 –

+1

ウェイトカラムを使用します。新しいローを保存し、ウェイトでクエリを並べ替えるときは、各アイテムにウェイトを付けます。行が削除されると、行が作成されますが、ソートには影響しません。ある行を特定の重みに移動するときは、等しいか大きい重みを持つすべてに+1を加算します。 – Johan

答えて

-1

可視の結果セットを戻すすべてのSQL文には、結果が一貫するようにORDER BY句を含める必要があります。この規格は、明らかな変更がテーブルに加えられていなくても、特定のテーブルの行の順序が一定または一貫していることを保証するものではありません。

ORDER BY句に使用するものは、使用例によって異なります。日付値は、コメントスレッドまたはブログエントリーの通常の選択です。ただし、ユーザーが結果セットに表示される順序をカスタマイズできるようにするには、行の位置を表す列を指定し、ユーザーが行の位置を変更したときにその列の値を調整する必要があります。彼らが見る順序。

たとえば、列に連続番号が含まれていると判断した場合、最初の行に1、2番目に2などで始まる行を削除する必要がある場合は、削除する必要があります。更新を行う。ただし、行を挿入する場合は、その位置に適切な順序番号を挿入した行を指定し、その下の行をすべて新しい位置に更新する必要があります。行を別の場所から新しい場所に移動する場合も同様です。新しい場所と古い場所の間の行を新しい位置索引で更新する必要があります。

関連する問題