Hallo,
Frage: wie (und auch wieso) soll das System mehrere gleichzeitige Durchlaeufe erlauben bzw unterstuetzen? Wann bzw wodurch soll ein solcher Durchlauf angestartet werden?
Definiere "naechsten Datensatz". Der naechste in mail_adressen oder mail_infotext? Ich nehme mal an: mail_infotext. Der "naechste" definiert sich dann dadurch: Gib mir die kleinste ID aus mail_infotext, die noch nicht in mail_status in der Spalte i_id drin steht.
in SQL uebersetzt (pi * daumen):
SELECT MIN(ID)
FROM mail_infotext
WHERE ID NOT IN (SELECT i_id FROM mail_status)
Du solltest natuerlich auch gewaehrleisten, dass der momentan startende Prozess den Eintrag in mail_status so schnell und kurz wie moeglich gestaltet und waehrenddessen diese Tabelle sperrt, z.b. durch eine Datenbank Transaktion.
Noch Fragen?
Ciao, Frank