Mysql数据库更改记录的顺序

时间:2012-07-11 08:22:50

标签: mysql

这里我的mysql数据库中的数据按顺序颠倒过来。如何更改排序,以便撤消ASC的默认排序。 主要字段是ID。和ID是auto_increment。我需要为每条记录以相反的顺序更改ID字段。

例如。我们假设我在表中有2条记录。

ID  field
1   field1
2   field2

我想让field2拥有ID 1,将field1设为ID 2

2 个答案:

答案 0 :(得分:0)

你可以这样做:

ALTER TABLE `table` ORDER BY `ID` DESC

但它的数据库设计不好 它反对First normal form

答案 1 :(得分:0)

或者您可以在脚本文件中导出整个表。 “sql”并且一旦手中的脚本可以将所有(INSERT INTO)向后排序。它需要几分钟,但它的工作原理

1:从你的基础生成脚本..你可以使用phpmyadmin或console line mysql 2.反转插入命令

基础脚本之前:

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 ;

然后删除旧表它应该没有问题