2013-07-10 46 views
1

列我在表中增加了新的指數,現在phpMyAdmin是默認排序按該列的行。如何使phpMyAdmin的由id列,而不是默認的url列中的行進行排序?MySQL的排序默認情況下,在phpMyAdmin

CREATE TABLE IF NOT EXISTS `links` (
    `id` int(11) unsigned NOT NULL auto_increment, 
    `url` varchar(255) NOT NULL default '', 
    PRIMARY KEY (`id`), 
    UNIQUE KEY `url` (`url`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=343959 ; 

回答

0

您可以通過給tableusing在alter table查詢添加默認爲了解決這個問題。

QUERY:ALTER TABLE links順序按id;

如果在where子句中沒有指定任何order by子句,那麼行將按默認的「id」列進行排序。

+0

表格沒有默認順序。閱讀有關ALTER TABLE的MySQL文檔,瞭解此語句的作用 - 以及它適用於哪些情況。 –

1

行沒有「默認」排序。如果你想查詢的特定順序返回行,則必須使用order by條款。

你甚至不能依賴於行由主鍵順序返回。事實上,通過更新/刪除/插入表格,這通常不會成立。

如果你想要一個查詢以特定順序返回行,那麼你必須使用order by子句(我意識到我重複了這一點)。唯一的例外是MySQL(違反標準)在使用group by時保證了結果的排序。

+0

這可能是phpMyAdmin的一個特性呢?在今天之前,phpMyAdmin默認添加了「按ID排序」。添加索引後,它現在添加'按網址排序' –