可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I added a new index in my table and now phpMyAdmin is sorting the rows by that column by default. How do I make phpMyAdmin sort the rows by the id
column instead of the url
column by default?
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 ;
回答1:
You can resolve this issue by adding default order by to the tableusing the alter table query.
QUERY: alter table links
order by id;
If you not specify any order by clause in where clause, then rows will sort by default "id" column.
回答2:
There is no "default" ordering of rows. If you want a query to return rows in a particular order, then you must use an order by
clause.
You cannot even depend on rows being returned by the primary key order. In fact, with updates/deletes/inserts on the table, this will often not be true.
If you want a query to return rows in a particular order, then you must use an order by
clause (I realize I repeated that). The only exception is that MySQL (in violation of the standard) guarantees the ordering of results when using group by
.