Как сделать добавление записей в таблицу MySQL по ходу её просмотра?
В упрощённом виде задача такая.
Таблица MySQL состоит из автоинкрементного поля и двух других полей.
Второе и третье поля входят в индекс.
Вначале в таблице одна запись.
Нужно просматривать по очереди записи в таблице, начиная сначала, в соответствие с индексом.
На основании этой записи формируется несколько, одна или ни одной подобных записей, которые добавляются в эту же таблицу.
Новые записи по индексу расположены заведомо дальше, чем текущая и в дальнейшем тоже должны быть просмотрены в этом же цикле.
Цикл обязательно заканчивается, т. к. новые записи постепенно перестают добавляться.
На Clipperе или FoxPro это реализуется просто.
1) Перейти на начало таблицы
2) Начало цикла
3) Запомнить номер записи
4) Дописать новые записи
5) Вернуться на текущую запись
6) Перейти на следующую запись
7) Конец цикла
Чтобы было понятнее приведу несколько первых записей
1,0,P0
2,1,P01
4,1,P03
3,1,P02
5,2,P011
6,2,P031
7,2,P032
8,2,P021
10,3,P0322
9,3,P0321
...
В "дочерних" записях второе поле на единицу больше по сравнению с текущей записью.
В MySQL за номер записи можно принять значение автоинкрементного поля.
Как записать это, используя циклы MySQl или PHP?
Дмитрий, Хотел возразить, типа у меня просмотр должен быть в несколько другом порядке, но понял :), что это дела не меняет, главное всё просмотреть по неубыванию второго поля. Годится. Спасибо.
Дмитрий,
Пусть остались записи с номерами 17, 20,21. а 18 и 19 удалены
$id = 17;
Попадаю на запись #20
$id++;
т.е. $id = 18, снова попадаю на запись #20
$id++;
т.е. $id = 19, и опять на неё же.
Не анализировать же каждый раз.
Я правильно рассуждаю?