为什么PHPMyAdmin不会有效地改变我的表格?

时间:2013-05-14 17:40:21

标签: mysql phpmyadmin xampp

我用PHPMyAdmin(XAMPP)制作了一个本地表。我可以用它做各种各样的事情,但我无法进行永久性的订单更改。

例如,在选项卡操作下,有一个功能Alter Table Order By。但它不会这样做。我可以选择一个字段,选择Ascending或Descending,单击Go,系统甚至会报告查询已成功执行。但是当我随后浏览表格时,一切都没有改变。无论我选择哪个领域。

替代方法也不起作用。只要通过命令

,系统就会让我随心所欲地摆弄桌子

SELECT * FROM table_name ORDER BY field_name

但是当我进入

ALTER TABLE table_name ORDER BY field_name

该表不会更改一个iota,而我确实收到了查询已成功执行的消息。

这怎么可能?

1 个答案:

答案 0 :(得分:2)

如果你有一个带有主键或非空唯一索引键的InnoDB表,这将无效,因为InnoDB将始终按这些键排序。

这是直接来自MySQL手册ALTER TABLE页面(http://dev.mysql.com/doc/refman/5.5/en/alter-table.html)的文本:

  

对于包含用户定义的聚簇索引(PRIMARY KEY或NOT NULL UNIQUE索引)的InnoDB表,ORDER BY没有意义。 InnoDB总是根据这样的索引对表行进行排序(如果存在)。