Mysql 在表格中间拖动一些行

Mysql 在表格中间拖动一些行,mysql,sql,Mysql,Sql,如我所说,是否可以复制每一行并将其放在下面的行上,或者将相同的字段行移动到下面的字段中?当然有索引和自动递增。结果应该是第41行中旧的第40行内容字段,以此类推 REPLACE table SET column1 = previuos(column1), column2= previous(column2), column3=(previous(column3) where id > 20 and id < 300 它们不是最后一个插入,它们在表的中间,并且要移动它,这样就让我

如我所说,是否可以复制每一行并将其放在下面的行上,或者将相同的字段行移动到下面的字段中?当然有索引和自动递增。结果应该是第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及之前插入


谢谢你

你的问题有点难理解,但是如果你想复制最后插入的行,你可以这样做:

INSERT INTO your_table (
  SELECT NULL, column_1, column_2, column_etc 
  FROM your_table ORDER BY your_id DESC LIMIT 1
);

您的问题有点难以理解,但如果要复制最后插入的行,可以执行以下操作:

INSERT INTO your_table (
  SELECT NULL, column_1, column_2, column_etc 
  FROM your_table ORDER BY your_id DESC LIMIT 1
);

请记住,数据库表不是电子表格

但是,这将实现您似乎想要的:

UPDATE mytable 
SET id = id + 9 
WHERE id BETWEEN 21 AND 199;

请记住,数据库表不是电子表格

但是,这将实现您似乎想要的:

UPDATE mytable 
SET id = id + 9 
WHERE id BETWEEN 21 AND 199;

你试过什么?我们可以看到一些示例数据/模式和期望的结果吗?为什么要替换这些ID中的值。ID应该无关紧要,因为它只是行的引用点。如果您正在使用特定业务的ID,请考虑制作另一列,然后您可以简单地更新您的业务需要的列。看起来你应该想另一种方法来做你想做的事,避免弄乱身份证。你让我这么做了,但既然我试过几次,我想问是否有一种方法,不要真的在乎身份证,只需要抓起一堆行,插入几行,下面我就可以维持他的秩序了,我现在就可以了,即使我会重写一些行。你试过什么?我们可以看到一些示例数据/模式和期望的结果吗?为什么要替换这些ID中的值。ID应该无关紧要,因为它只是行的引用点。如果您正在使用特定业务的ID,请考虑制作另一列,然后您可以简单地更新您的业务需要的列。看起来你应该想另一种方法来做你想做的事,避免弄乱身份证。你让我这么做了,但既然我试过几次,我想问是否有一种方法,不要真的在乎身份证,只需抓取一堆行并在下面插入几行,我就可以维持他的顺序,我现在即使我会在一些行中重写我想要的是将一堆行向下移动asc顺序,并为新值创建空行。我想要的是将一堆行向下移动asc顺序,并为新值创建空行。谢谢尝试,伙计,但不想在id上移动任何内容,但是其他的专栏。您现在是否在下拉列表项上的一组项时执行了此操作?这就是我想要做的,但不移动id,是和索引,自动递增btwThank的try dude,但不想移动id上的任何内容,而是移动其余的列。您现在是否在下拉列表项上的一组项时执行了此操作?这就是我想要做的,但不移动id,是和索引,自动递增