0

次の表があります。 ここに画像の説明を入力

私は、行 ID の例 5 を取り込んで、それを ID 6 の新しい行に複製する手順に取り組んでいます。 、9 から 10 および 10 から 11 です。

これを行う最良の方法は何ですか?

私はSQL操作についてまったく無知なので、どんな助けでも大歓迎です。

4

2 に答える 2

1

ID が常に連続していると仮定するとUPDATE、 new を実行する前にテーブルに移動する必要がありますINSERT

UPDATE YourTable
SET ID = ID + 1
WHERE ID >= 6

次に、ステートメントを実行してINSERT行 5 を複製できます。

そうは言っても、これの目的は何ですか?テーブルのデザインを再考する方が理にかなっているかもしれません。

編集 - 挿入も行う必要がある場合

も実行する必要がある場合はINSERT、次を使用して動作するはずINSERT INTOです。

INSERT INTO YourTable 
SELECT 6, NextCol, NextCol, ...
FROM YourTable
WHERE ID = 5

基本的に、各列を指定する必要があります。繰り返しますが、 を実行した後にこれを実行してUPDATEください。このフィールドに ID がある場合、これは必ずしも機能するとは限りません。テーブル構造によって異なります。

于 2013-03-28T16:24:22.323 に答える
0

挿入を探しているのか更新を探しているのか、質問は少し不明です。挿入の場合、を使用して以下のようなことができますcross join:

Sql-Fiddle デモ

insert into YourTable (ID, SupplierId, Title,...)
select MyID, SupplierId, Title, ...
from YourTable cross join (values (6),(7),(8),(9),(10),(11)) 
          AS temp(MyId)
where YourTable.ID = 5

ID が自動インクリメント フィールドの場合、フィールド リストから ID と MyID を削除します。

于 2013-03-28T17:09:49.047 に答える