2012-03-09 5 views
0


 私は約200行のサンプルテーブルを持っています。この行には、行のレベルに相当する数値を含む「order_number」という列が含まれています。また、数値は常に連続しています。例えば、第1行は1、第2行2、第3行3、第100行100などである。数字は常に連続していなければならない。

ここで問題があります:行50を削除すると、テーブルに隙間ができます(1-49,51-200)。すべてが1-199になるように行51〜200をどのように動かすことができますか? 「注文番号」には隙間がない必要があります。

 助けてください。

ありがとうございました。データベース内で連続して列を並べ替える

答えて

2

他のテーブルがorder_numberを参照していない場合は、できるだけです。

DELETE FROM TableA WHERE order_id = 50;      -- What you just did 
UPDATE TableA SET order_id = order_id-1 WHERE order_id > 50; -- To rearrange 

シンプルなデモhere

+0

ありがとう......私はそれができることを完全に忘れていました。 –

関連する問題