Bonjour, je ne sais pas comment faire pour mettre à jour une table en bloquant une ligne puis en envoyant un résultat précis.
En effet je veux modifier la table TUser et TCommerce, comme je ne suis pas le seul à le faire je pose un verrou exclusif sur les deux :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
SET AUTOCOMMIT = 0;
 SELECT * FROM TUser u INNER JOIN TCommerce c ON(t.user_id=c.commerce_id) 
WHERE c.commerce_id=param1 FOR UPDATE;
Puis en fonction du prix et de la présence du produit, je peux renvoyer comme retour :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
SELECT "Se produit n'existe plus ..."
ou encore 
SELECT "Vous manquez de ressource pour l'achat de ce produit"
...
SELECT "Vous avez acheté un produit ...";
Je termine par
COMMIT ou ROLLBACK

Au retour dans Java, je pensais que je pouvais récupérer le dernier SELECT avec rs.getString(1) , à ma toute surprise non, il contient le premier champ du verrou.
Comment puis je faire pour récupérer explicitement ce que je veux ?
C'est cette ligne essentielle qui pourrit mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
SELECT * FROM TUser u INNER JOIN TCommerce c ON(t.user_id=c.commerce_id) 
WHERE c.commerce_id=param1 FOR UPDATE;