hello,
je dois realiser une sorte de loterie avec tickets. Les numeros de ticket sont reprentés par l'id auto-incrementé de la table (id_ticket). Mon probleme est le suivant :
Lorsqu'un joueur prend un ou des tickets je fais la requete suivante où XXX represente le nombre de tickets pris par le joueur:
Si plusieurs utilisateurs prennent un ticket au meme moment, ne risque-t- il pas d'y avoir un probleme avec le MAX(id_ticket)+XXX. Je m'explique, si cette requete est executée par plusieurs joueur en meme temps, MAX(id_ticket)+XXX ne risque-t-il pas de remonter la meme valeur à ces requetes? et donc entrainer un probleme d'id_ticket "non unique" ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 INSERT INTO `ipod` (`id_ticket`, `login`, `date`, `heure`, `ip_visit`, `code`, `id_jeux`, `valid`, `valid_pass`) select MAX(id_ticket)+XXX, 'aaaaaa', '0000-00-00', '00:00:00', 'sdfsd', 'fsdf', 'sdfsd', '', '' FROM ipod
Le but du jeu pour moi etant de limiter le nombre de requetes. Au lieu de faire, par exemple, 20 insert pour 20 ticket je veux faire un seul insert en incrementant de 20 la valeur d'id_ticket en etant sur de bien incrementer id_ticket avant qu'une autre execusion de la requete ne se lance. Tout ca pour eviter un "melange" de requetes.
exemple :
id_ticket login
1 joueur1
2 joueur2
3 joueur3
le joueur4 prends 20 tickets et le joueur5 10 ticket, je veux avoir :
id_ticket login
1 joueur1
2 joueur2
3 joueur3
23 joueur4
33 joueur5
et je veux eviter d'avoir :
id_ticket login
1 joueur1
2 joueur2
3 joueur3
23 joueur4
13 joueur5
voir meme si les deux en prenent 20
id_ticket login
1 joueur1
2 joueur2
3 joueur3
23 joueur4
23 joueur5
Je rame un peu pour trouver une solution
Si vous avez une idée je suis preneur ....
merci
Partager