Ik heb een db met x.xxx.xxx records. Ieder record heeft een timestamp. Ik voer 2 queries achter elkaar uit.
SELECT * FROM tabel ORDER BY timestamp ASC LIMIT 1
Ik krijg dus de oudste record terug. Daarna doe ik
UPDATE tabel SET timestamp = CURRENT_TIMESTAMP WHERE id = id_van_select
Nu wordt het script zo snel achter elkaar uitgevoerd dat er meerdere keren hetzelfde record geselecteerd wordt. Dus voordat de update query verwerkt is wordt de select meerdere keren uitgevoerd.
Hoe kan ik voorkomen dat er meerdere keren hetzelfde record geselecteerd wordt. Ik zoek dus eigenlijk een update van de timestamp tijdens de select of iets wat het record tijdelijk locked.
SELECT * FROM tabel ORDER BY timestamp ASC LIMIT 1
Ik krijg dus de oudste record terug. Daarna doe ik
UPDATE tabel SET timestamp = CURRENT_TIMESTAMP WHERE id = id_van_select
Nu wordt het script zo snel achter elkaar uitgevoerd dat er meerdere keren hetzelfde record geselecteerd wordt. Dus voordat de update query verwerkt is wordt de select meerdere keren uitgevoerd.
Hoe kan ik voorkomen dat er meerdere keren hetzelfde record geselecteerd wordt. Ik zoek dus eigenlijk een update van de timestamp tijdens de select of iets wat het record tijdelijk locked.
Je bent pas echt lui als je het gemak niet zoekt.