morya4ok
Новичок
Следующий элемент в индексе
Допустим есть таблица:
CREATE TABLE `objects` (
`ID` int(10) NOT NULL auto_increment,
`counter` int(10) NOT NULL default '0',
PRIMARY KEY (`ID`),
KEY `counter` (`counter`,`ID`)
) ENGINE=MyISAM;
Известен ID объекта, необходимо найти следующий и предыдущий объект в списке отсортированных по полю counter.
Получается, что нужен следующий и предыдущий элементы индекса, но как их достать?
Есть вариант строить запрос с учетом значение поля counter для известного объекта:
SELECT ID FROM objects WHERE counter >= N ORDER BY counter, ID LIMIT 1
где N значение counter объекта, для которого ищем следующий элемент.
Есть еще варианты? Очень хочется достать ID из индекса, что-то типа prev(), next()...
Допустим есть таблица:
CREATE TABLE `objects` (
`ID` int(10) NOT NULL auto_increment,
`counter` int(10) NOT NULL default '0',
PRIMARY KEY (`ID`),
KEY `counter` (`counter`,`ID`)
) ENGINE=MyISAM;
Известен ID объекта, необходимо найти следующий и предыдущий объект в списке отсортированных по полю counter.
Получается, что нужен следующий и предыдущий элементы индекса, но как их достать?
Есть вариант строить запрос с учетом значение поля counter для известного объекта:
SELECT ID FROM objects WHERE counter >= N ORDER BY counter, ID LIMIT 1
где N значение counter объекта, для которого ищем следующий элемент.
Есть еще варианты? Очень хочется достать ID из индекса, что-то типа prev(), next()...