Maison > Article > base de données > Pouvez-vous combiner les opérations MySQL UPDATE et SELECT en une seule requête pour « posséder » une ligne et récupérer ses paramètres ?
MISE À JOUR MySQL et SELECT en une seule requête
De nombreuses applications de travail effectuent des tâches en boucle en accédant à une table de tâches dans une base de données MySQL à l'aide API C natives de MySQL. Pour posséder une tâche, une application :
Existe-t-il un moyen de combiner ces étapes en un seul appel au serveur, efficacement " posséder" une ligne et obtenir ses paramètres en une seule opération ?
Réponse :
Oui, il est possible d'y parvenir en utilisant une requête UPDATE avec une sous-requête :
UPDATE tasks SET guid = ( SELECT id FROM tasks ORDER BY id DESC LIMIT 1 ) WHERE guid = 0 RETURNING guid, params;
Cette requête met à jour le champ guid de la ligne avec le guid 0 en utilisant l'identifiant le plus élevé de la table des tâches comme nouveau guid. Il renvoie également à la fois le guid mis à jour et les paramètres de la tâche sur une seule ligne.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!