1

だから私が言うように、各行をコピーして下の行に置くか、同じようにフィールド行を下のフィールドに移動することは可能ですか? (もちろん、インデックスの自動インクリメントがあります)。結果は、行41の古い行40のコンテンツ(フィールド)になるはずです。

REPLACE table SET column1 = previuos(column1), column2= previous(column2), column3=(previous(column3)  where id > 20 and id < 300 

それらは最後に挿入されたものではなく、テーブルの中央にあり、それを下に移動したいので、選択したものの先頭にいくつかの空の行(インデックス付き)を許可します

  INSERT INTO table (
  SELECT column1,column2,column3 
  FROM  table  WHERE id > 20 AND id < 200
  ) WHERE id = 30 

21 から 199 までの行を選択し、30 以降に挿入

ありがとうございました

4

2 に答える 2

1

あなたの質問はちょっとわかりにくいですが、最後に挿入された行を複製したい場合は、次のようにすることができます:

INSERT INTO your_table (
  SELECT NULL, column_1, column_2, column_etc 
  FROM your_table ORDER BY your_id DESC LIMIT 1
);
于 2012-11-03T15:28:03.767 に答える
0

データベース テーブルはスプレッドシートではないことに注意してください。

ただし、これはあなたが望むと思われることを行います:

UPDATE mytable 
SET id = id + 9 
WHERE id BETWEEN 21 AND 199;
于 2012-11-03T23:11:30.790 に答える