正如我所说,可以复制每一行并将其放在下面的行上,或者将相同的移动字段行复制到下面的字段中? (当然有和索引自动增量)。结果应该是第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和前面插入
谢谢
答案 0 :(得分:1)
您的问题有点难以理解,但如果您想复制最后插入的行,您可以执行以下操作:
INSERT INTO your_table (
SELECT NULL, column_1, column_2, column_etc
FROM your_table ORDER BY your_id DESC LIMIT 1
);
答案 1 :(得分:0)
请记住,数据库表不是电子表格。
然而,这将做你想要的:
UPDATE mytable
SET id = id + 9
WHERE id BETWEEN 21 AND 199;