列が含まれているテーブル(int id pkey, int group, double sortOrder)
sortOrderは、1つのグループ内でユーザー指定の並べ替え順序を実装しています。一部の変更では、グループ内のすべてのアイテムの並べ替え順を変更する必要があります。私は連続した値を代入する必要がありますwhchで、現在の順番で、私にそのグループ内のすべての要素を互いのindependen(つまり、彼らは唯一のこれまで1グループ内で比較されている)SQLite:シーケンシャル値を持つ複数行のUPDATE列
SELECT id, sortOrder FROM tbl WHERE group=X ORDER BY SortOrder
を異なるグループ内SORTORDER値を与えています(1、2、3、...)をSortOrderに設定します。
Q:他のSQL実装に移植することはできますか?すべての行を個別に更新せずに実行する方法はありますか?
さらに詳しい情報:私はそれは自明終わりMIN-1前のため、MIN + 1のインサートのための他の項目を(変更せずに新しいソート順序を割り当てることができますので、ダブルスを使用して、としています(A + B)/2の間に挿入するためには2) - これは、もちろん、2倍分解能(最悪の場合には〜52個の挿入)によって制限される。とにかくこれがオーバーフローの追加検査の価値があるかどうかはまだわかりませんが、とにかく他のデータ型でも同じ問題があります。
私が思いついた唯一のアイデアは、文字列とカスタムのCOLLATEとADD/SUB/AVG関数で無限の解像度をシミュレートすることでした。しかし、これは非常にポータブルではないようです。