Bonjour,
Je cherche à faire une requête retournant un id unique à chaque fois que je l’exécute. Le but est de permettre à plusieurs processus d’exécuter cette requête en parallèle et d'obtenir à chaque fois un ID unique entre tous les processus. La base de donnée est le seul point commun entre les différents processus d'ou mon idée d'y stocker cet ID.
Si je fais un UPDATE pour incrémenter la valeur suivit d'un SELECT pour la récupérer, j'ai peur d'avoir des problèmes de concurrence :
- process 1 UPDATE ID+1
- process 2 UPDATE ID+1
- process 1 SELECT ID
- process 2 SELECT ID
=> les process 1 et 2 ont le meme ID.
Y a t'il un moyen de réaliser cette opération de manière atomique?
Partager