整数オーダー欄での方法も可能です。次に、データベースにバージョン列も追加します (おそらく既に持っているでしょう)。1 人のユーザーが注文を変更すると、新しい注文番号を持つすべてのレコードを保存する必要があります。バージョン列により、他のユーザーは、変更された順序のためにデータをリロードする必要があることが通知されます。整数の代わりに、小数点以下の数字または文字列を使用することもできます。どちらも、テーブル内のすべての行を更新するのではなく、順序が実際に新しい場所にある行のみを簡単に更新できます。
この方法の不便さは、別のユーザーが順序を変更したという理由だけで、ユーザーが行をリロードする必要がある (つまり、実際の変更をやり直さなければならない) ことです。この状態がめったに起こらない場合は、それを受け入れることができますが、順序の変更が頻繁に発生する場合、これは受け入れられない可能性があります。
この不便さを避けるために、注文専用の別のテーブルを作成できます (列として注文番号、データ テーブルのキー、およびバージョン列として)。このテーブルは、データ テーブルと 1:1 の関係にあります。順序が変更された場合、このテーブルのみを更新する必要があります。つまり、他のユーザーがレコードのデータを変更するときに煩わされることはありません。この場合、さまざまな順序を実現することもできます (たとえば、すべてのユーザーが独自の順序を定義できます)。これにより、データ テーブルとの関係が 1:1 から n:1 に変更されます。
パフォーマンスの問題がある場合、またはデータベースに注文を保持する必要がない場合 (注文は 1 つのセッションでのみ有効です) にのみ、共有場所にキャッシュします。