Heim >Datenbank >MySQL-Tutorial >Können Sie MySQL UPDATE- und SELECT-Operationen in einer Anfrage kombinieren, um eine Zeile zu „besitzen' und ihre Parameter abzurufen?
MySQL UPDATE und SELECT in einer Anfrage
Viele Worker-Anwendungen führen Aufgaben in einer Schleife aus, indem sie auf eine Aufgabentabelle in einer MySQL-Datenbank zugreifen Die nativen C-APIs von MySQL. Um eine Aufgabe zu besitzen, muss eine Anwendung:
Gibt es eine Möglichkeit, diese Schritte effektiv in einem einzigen Aufruf an den Server zu kombinieren? „Eine Zeile besitzen“ und ihre Parameter in einem einzigen Vorgang erhalten?
Antwort:
Ja, dies ist mit einer UPDATE-Abfrage mit einer Unterabfrage möglich:
UPDATE tasks SET guid = ( SELECT id FROM tasks ORDER BY id DESC LIMIT 1 ) WHERE guid = 0 RETURNING guid, params;
Diese Abfrage aktualisiert das Guid-Feld der Zeile mit Guid 0 und verwendet dabei die höchste ID aus der Aufgabentabelle als neue Guid. Außerdem werden sowohl die aktualisierte Anleitung als auch die Parameter der Aufgabe in einer einzigen Zeile zurückgegeben.
Das obige ist der detaillierte Inhalt vonKönnen Sie MySQL UPDATE- und SELECT-Operationen in einer Anfrage kombinieren, um eine Zeile zu „besitzen' und ihre Parameter abzurufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!