I have some question ... example: a user will buy something for his USD
you need to use TRANSACTION at the SERIALIZABLE isolation level.