MySQL UPDATE und SELECT in einem Durchgang

Ich habe eine MySQL-Tabelle, in der Aufgaben zu erfüllen, jede Zeile, die Parameter für eine einzelne Aufgabe.
Es gibt viele worker apps (möglicherweise auch auf unterschiedlichen Maschinen), die Durchführung von Aufgaben in einer Schleife.
Die apps, die Zugriff auf die Datenbank mit dem MySQL native C-APIs.

Um eine eigene Aufgabe, eine app nicht so etwas wie:

  • Erzeugen einer Global eindeutigen id (für Einfachheit nehmen wir an es ist eine Zahl)
  • UPDATE tasks
    SET guid = %d
    WHERE guid = 0 LIMIT 1
  • SELECT params
    FROM tasks
    WHERE guid = %d
  • Falls die Letzte Abfrage eine Zeile zurück, die wir besitzen und die Parameter zum ausführen

Gibt es eine Möglichkeit, den gleichen Effekt erzielen (D. H. 'eigene' eine Zeile und erhalten Ihre Parameter) in einem einzigen Aufruf an den server?

InformationsquelleAutor der Frage Paul Oyster | 2009-02-18

Schreibe einen Kommentar