MySQL mise à JOUR et SÉLECTIONNEZ en un seul passage

J'ai une table MySQL de tâches à effectuer, chaque rangée de paramètres pour une seule tâche.

Il y a beaucoup de travailleurs apps (éventuellement sur différentes machines), l'exécution de tâches dans une boucle.

Les applications d'accès à la base de données à l'aide de MySQL natif C Api.

Afin de posséder une tâche, une app qui fait quelque chose comme ça:

  • Générer un unique dans le monde entier id (pour simplifier, disons que c'est un nombre)

  • UPDATE tasks

    SET guid = %d

    WHERE guid = 0 LIMIT 1

  • SELECT params

    FROM tasks

    WHERE guid = %d

  • Si la dernière requête retourne une ligne, il est propre et avoir les paramètres pour exécuter

Est-il un moyen pour obtenir le même effet (c'est à dire "propre" d'une ligne et d'obtenir ses paramètres) en un seul appel au serveur?

InformationsquelleAutor Paul Oyster | 2009-02-18