私は値を持つこのテーブルを持っています:
val
1
2
3
7
8
9
テーブルには id 列もありますが、現在は関係ありません。
1 つの値を挿入したいのですが、値を繰り返すことはできないという規則があります。新しい 2 を挿入するとします。現在の 2 は 3 になり、値 3 まで続きます。値 3 は 4 になります。この場合、値 7、8、9 を「移動する」必要はありません。 '。
私はSQLiteを使用しています。挿入または更新部分は、目的の新しい値ホルダーが「移動」された後、別のクエリで実行できます。
これまでのところ、私はこれを行っていました:
//being n my new value.
UPDATE values SET val = val+1 WHERE val >= n
ただし、これにより、変更する必要のない 7、8、および 9 も変更されます。
問題のこの部分を解決する方法について何か考えはありますか? 更新を連続した値のみに制限しますか?
1 つのクエリで挿入/更新全体を行うより良い方法も非常に高く評価されます。