Mysql数据库记录的更改顺序

Mysql数据库记录的更改顺序,mysql,Mysql,这里我有mysql数据库中的数据,这些数据是按顺序颠倒的。如何更改排序,以反转默认的ASC排序。 主字段是ID,ID是自动递增的。我需要为每个记录按相反顺序更改ID字段 比如说。假设我有两条记录在表中 ID field 1 field1 2 field2 我想让field2有ID 1,field1有ID 2,您可以: ALTER TABLE `table` ORDER BY `ID` DESC 但是它的数据库设计很糟糕 它是针对的,或者您可以在脚本文件中导出整个表。“sql”,一旦

这里我有mysql数据库中的数据,这些数据是按顺序颠倒的。如何更改排序,以反转默认的ASC排序。 主字段是ID,ID是自动递增的。我需要为每个记录按相反顺序更改ID字段

比如说。假设我有两条记录在表中

ID  field
1   field1
2   field2
我想让field2有ID 1,field1有ID 2,您可以:

ALTER TABLE `table` ORDER BY `ID` DESC
但是它的数据库设计很糟糕
它是针对

的,或者您可以在脚本文件中导出整个表。“sql”,一旦脚本在手,你就可以把所有的(插入)向后排列。这需要几分钟,但它可以工作

1:从基础生成脚本..您可以使用phpmyadmin或控制台行mysql 2.反转insert命令

之前的基本脚本:

INSERT INTO example (name, age) VALUES('Sandy Smith', '21' )
INSERT INTO example (name, age) VALUES('peter brad', '38' )
INSERT INTO example (name, age) VALUES('mike alves', '24' )
基本脚本之后:

INSERT INTO example (name, age) VALUES('mike alves', '24' )
INSERT INTO example (name, age) VALUES('peter brad', '38' )
INSERT INTO example (name, age) VALUES('Sandy Smith', '21' )
这是一个慢的,但它能清洁吗

OHTER解决方案->

然后您可以尝试以下操作:-通过检索所有id并使用ORDER by反转,使用原始表中的信息创建一个新表

CREATE TABLE newtable SELECT ID, row1, row2, row3, row4, row5 FROM oldtable ORDER BY id DESC ;

然后删除旧表它应该可以正常工作

如果您能给出任何示例,那就太好了:)您想更新表还是只需要选择中的顺序?然后您可以使用@puggan的答案..您的意思是在再次导出和导入时更改数据的顺序?是的。希望您没有记录英里数,或者您总是可以更快地编写脚本。不过,这是我找到的唯一一个没有问题的干净解决方案。我有1000多个recordsOk,所以我为您找到了另一个解决方案尝试一下。OHTER solution->然后您可以尝试以下操作:-通过检索所有id并使用ORDER by反转,使用原始表中的信息创建一个新表!关于这方面的更多信息,我已经更改了我的上一个答案。我认为它可以移动数据,因此如果您不指定任何
ORDER BY
,并且不在
中使用索引,其中
,mysql将按照数据存储在磁盘上的顺序提供数据,在该行之后是
ID DESC