以下のようなテーブル構造を維持しています。ソート順の更新テーブル
sortid | id | name 1 | 1 | aa 3 | 2 | cc 4 | 3 | cc 2 | 4 | bb 5 | 5 | dd
ここで、sortidは名前の昇順に従って維持されます。 名前 'dd'を 'aa'に更新すると、ソートIDも正しい値に更新されます。
Update table set name="bb" where name like "dd";
テーブルを更新した後、以下のようになります。
sortid | id | name 1 | 1 | aa 4 | 2 | cc 5 | 3 | cc 3 | 4 | bb 2 | 5 | aa
表の行にはソート順序を持っていません。 'SortId'はあなたが望むものに更新できる数字です。実際には、SQL文は、 'ORDER BY'文を指定しないかぎり、必要な順序で行を返すことができます –
質問はどのようにしてsingle statementでsortidを更新できますか? – kiranjc