Ако разбирам правилно какво имаш предвид под кръгова система, тогава можеш да направиш нещо от типа на
SELECT id, url
FROM urls u CROSS JOIN
(
SELECT MIN(id) min_id, MAX(id) max_id
FROM urls
) m
WHERE id > IF(? >= max_id, 0, ?) -- last shown id goes here instead of placeholders
ORDER BY id
LIMIT 1;
Съхранявайте (в сесия, файл, друга таблица и т.н.) и предайте на вашата заявка последния показан id
или 0 за първоначалната заявка.
Това ще ви даде следващия ред или отново първия, ако сте достигнали последния. Тази заявка ще продължи да работи, ако имате пропуски в id
с.
Ето SQLPiddle демонстрация