所以我在mysql中有一个包含用户信息的表:
[ USERS ]
[id | name | email | balance]
[ 1 | A | a@e.com | 0 ]
[ 2 | B | b@e.com | 0 ]
[ 3 | C | c@e.com | 0 ]
以及一个包含事务的表
[ TRANSACTIONS ]
[id | user_id | product | amount | price ]
[ 1 | 3 |TV 600 | 1 | 279,22]
[ 2 | 2 |Radio G | 1 | 32,12]
如果我在表中添加一行 transactions
,即 balance
也会更新用户的。要100%确保平衡始终正确,最好的做法是什么?
带锁、触发器或其他东西的存储过程?
1条答案
按热度按时间3pmvbmvn1#
我会用一个视图来完成这个任务。最新的数据是有保证的,因为当查询视图时,它后面的查询被执行,所以它会重新计算您的余额。