简体   繁体   中英

MySQL sort by a column by default in phpMyAdmin

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 ;

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 .

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM