Maison > base de données > tutoriel mysql > le corps du texte

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 ?

Susan Sarandon
Libérer: 2024-11-03 05:10:31
original
859 Les gens l'ont consulté

Can you combine MySQL UPDATE and SELECT operations into one request to

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 :

  1. Génère un identifiant unique au monde.
  2. Exécute une requête UPDATE pour définir le champ guid sur l'ID généré pour une ligne avec un guid de 0 .
  3. Exécute une requête SELECT pour récupérer les paramètres de la tâche en fonction du guid.

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;
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!