gpt4 book ai didi

mysql - 使用 InnoDB 存储引擎使用 phpMyAdmin 重新排序列不起作用

转载 作者:行者123 更新时间:2023-11-29 00:25:49 25 4
gpt4 key购买 nike

今天,我尝试使用 phpMyAdmin 对表格的一列重新排序(我以前做过很多次)。尽管结果显示为成功,但并未有效地进行重新排序。

问题似乎是由使用 InnoDB 作为存储引擎引起的,它是 MySQL 5.5 以后的默认值。当我改回 myIsam 时,问题就解决了。它阐明了它在某些表上工作的原因。

这是一个可解决的 mySQL 问题吗?或者这是 InnoDB 的常规预期行为?在后一种情况下,phpMyAdmin 可能应该调整为在使用 InnoDB 时不提供该功能。

MySQL:5.5.29phpMyAdmin: 4.0.4

最佳答案

如果...重新排序列...您的意思是

 ALTER TABLE ... ORDER BY ...

然后对于具有 PRIMARYUNIQUE KEY 的 InnoDB 表,它不起作用。这是设计使然:

ALTER TABLE
ORDER BY does not make sense for InnoDB tables that contain a user-defined clustered index (PRIMARY KEY or NOT NULL UNIQUE index). InnoDB always orders table rows according to such an index if one is present.

另一方面,如果您的表中没有PRIMARYUNIQUE KEY,这是极不可能的,那么 MySQL 将允许您更改顺序。

这是 SQLFiddle 演示该行为的演示。

关于mysql - 使用 InnoDB 存储引擎使用 phpMyAdmin 重新排序列不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18973050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com