Как обработать таблицу?

  • Автор темы Cyber_Atlant
  • Дата начала

Cyber_Atlant

Guest
Как обработать таблицу?

Подскажите пожалуйста неопытному :)
Есть в базе на мускуле промежуточная таблица размер которй может быть очень большой. Каким образом средствами PHP можно обрабатывать эту таблицу вынимая каждую по отдельности запись и ее же удаляя из таблицы при надобности? Индексов и ключевых полей в этой таблице нет. Мои мысли - Ну вытащить одну запись можно с помощью LIMIT. А как ее же и удалить? Есть ли такое понятие, как номер записи в таблице?
 

Кром

Новичок
>Индексов и ключевых полей в этой таблице нет.
Очень печальное известие.

Не совсем понятно зачем нужны все эти действия?
 

Falc

Новичок
Cyber_Atlant
>>Есть ли такое понятие, как номер записи в таблице?
Такого понятия нету, если ты его сам не введешь.
 

Cyber_Atlant

Guest
Есть такая необходимость! В эту таблицу импортируются данные из разных источников, потом потрошку обрабатываются, пока не исчезнут все записи. Я вот думаю, если вынять все записи сразу, то получится огромный массив, обработать его в порядке очереди можно. Но как обработанные записи потом удалить из таблицы? И зачем держать в памяти такой массив? Я вижу пока один путь, при формировании этой таблицы добавить поле и принудительно присваивать записи уникальный код. Но может есть какой-то другой путь?
 

neko

tеam neko
Cyber_Atlant

если я тебя вообще правильно понял:

во-первых ты для DELETE можешь указать лимит, такой же как для SELECT, и таким образом удалить то же самое что было только что выбрано.
но, я бы так делать не стал, по многим причинам

во-вторых, ты можешь добавить в эту сводную таблицу какой-нибудь индексный столбец, и когда ты выбираешь несколько записей а потом по одной их обрабатываешь, то после каждой обработки удаляешь запись по id.
это хорошо еще и потому, что если например обработчик умрет, не обработав все что забрано (даже если забрано мало), ничего лишнего не удалится.
 

chira

Новичок
Cyber_Atlant
во время обработки таблицы в неё могут добавляться данные?
 

Cyber_Atlant

Guest
Спасибо за помощь, взял и добавил новое поле с уникальным ID строки. Его и обрабатываю.
 
Сверху