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 回答