Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > Разные результаты в идентичных запросах


Автор: Dima50 12.8.2011, 16:15
Есть таблица MyISAM:
Код

CREATE TABLE IF NOT EXISTS `myisam_i` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(10) NOT NULL,
  `code` varchar(10) NOT NULL,
  `descr` varchar(10) NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `code` (`code`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;


вводим запрос:
Код

SELECT id,code FROM `myisam_i` limit 1500,3


получаем ответ:
    id    code
    1501    3569140872
    1502    5146723089
    1503    2463570918

Следом ничего не меня в таблице вводим слегка измененный запрос:
Код

SELECT code FROM `myisam_i` limit 1500,3


получаем совершенно иные значения в столбце code

    code
    3875016492
    3876124905
    3891024567


От чего происходит изменение результата? 
Каков внутренний механизм сего явления?

Автор: Artemon 12.8.2011, 16:17
Твой запрос НЕ подразумевает какого-то порядка возвращаемых данных.

Добавь order by code, тогда все встанет на свои места.

Автор: Dima50 12.8.2011, 16:22
Artemon, cпасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)