Designing a bank database schema with multiple balances per account
Use ENGINE=InnoDB and code like this:

BEGIN TRANSACTION;
Update / insert into one account (one database table, that is)
Update / insert into another account
and any other actions that are tied to this 'transaction'
COMMIT;


In some situations, keep two tables for one account:


"Current" balance, etc
"History" of what happened -- This should only have INSERTs, no UPDATEs or DELETEs.  It is a blow-by-blow list of all the changes made to arrive at the "current" state that is shown in the other table.


So the "transaction" might include one UPDATE to the first table, and one INSERT into the other table.