【发布时间】:2013-02-12 19:00:34
【问题描述】:
我有一个包含应用程序设置的表格,其中包含以下列:id、key 和 value。
id 列是自动递增的,但截至目前,我不使用它,也没有任何外键约束。我正在填充设置并希望对其进行重组,使其按字母顺序排列,因为我没有以这种方式放置设置,但按字母顺序重新排序有助于将相关设置组合在一起。
例如,如果我有以下设置:
ID KEY VALUE
======================================
1 App.Name MyApplication
2 Text.Title Title of My App
3 App.Version 0.1
我希望将所有 App.* 设置按顺序组合在一起,而不必每次都执行 ORDER BY。无论如何,这就是解释。我有tried the following,它似乎没有改变顺序:
CREATE TABLE mydb.Settings2 LIKE mydb.Settings;
INSERT INTO mydb.Settings2 SELECT `key`,`value` FROM mydb.Settings ORDER BY `key` ASC;
DROP TABLE mydb.Settings;
RENAME TABLE mydb.Settings2 TO mydb.Settings;
这将按照建议复制表格,但不会重组数据。我在这里想念什么?
【问题讨论】:
-
如果没有按照您返回的顺序和顺序,是任意的,并不总是按照您将它们放入系统的顺序。在关键字段上使用 order by 有什么问题,尤其是在它被索引的情况下? (dev.mysql.com/doc/refman/5.0/en/order-by-optimization.html)
标签: mysql