Je realise une application permettant à un utilisateur de passer des commandes de produits.
J'ai donc deux tables 'commande' et 'achat'.
Donc quand un utilisateur passe une commande une ligne est inserée dans la table 'commande' (phase 1),
je recupere l'id de la ligne en faisant select max(id) from 'commande' (phase 2),
et j' insere pour chaque produit acheté une ligne dans la table 'achat' avec un champ idcommande qui correspond à l'id de la table 'commande' recupéré durant la phase2 (phase 3) .
Il risque donc d'avoir un probleme quand deux utilisateurs font une commande à un intervalle très cours. Le premier utilisateur risque de recuperer l'id du deuxieme utilisateur.
Doit je donc utiliser LOCK TABLE ? ou bien y a til une autre solution ?
Partager