Bonjour,
J'ai un problème, j'ai une table qui contient une valeur qui peut etre modifier par tous les utilisateurs. Le problème c'est que entre un update et un select des requetes peuvent s'éxécuter et changer la valeur présent dans la table. Genre je fais une mise à jour d'un compteur en faisant update table set nb=nb+1 et derrière je fais un select. la valeur ne sera pas forcément celle que je viens de mettre à jour car une requete extérieur aura pu se glisser entre mon update et mon select. Dans mon cas, je dois identifier de manière unique chaque joueur pour faire gagner le xème joueur (exemple le 10 ème joueur). J'ai trouvé deux solutions :
la première utiliser lock tables et delocker à la fin du traitement ou utiliser un champ autoincrement (le problème ici c'est que je voudrais en cas de gain remettre la table à 0 mais entre temps d'autres joueurs ont pu faire un update de ma table et donc je les supprimerrais et çà ne va pas.
Je ne sais pas si je suis clair
merci
Partager