【mysql】如何设计 用户钱包金额收支记录表?

我想做一个对于
用户钱包金额收支情况记录的表
就是对于
money1(买家金额)money2(买家冻结金额)
money3(卖家金额)money4(卖家冻结金额)
这个四个字段,所有的加减都要有个记录,
该怎么设计表好呢?
有什么必须的字段,要求?
求经验丰富的人推荐下设计方案?

能不能根据数据库的变动做一个记录?就是当用户表的 金额字段发生变化时,把其变化存入一个新的表里?
我用的是MySQL数据库,是不是得使用触发器?

回答

不妨借用会计记账的方式。

  • 每个客户分配3个科目:存入取出金额 = 可用金额 + 冻结金额

  • 创建资金流水表(会计分录)和科目余额表两个表。后者用于对流水表进行汇总。

  • 可用(冻结)余额的计算方法是:今日余额 = 昨日余额 + 今日借方总额 - 今日贷方总额

  • 存入取出余额的计算方法是:今日余额 = 昨日余额 + 今日贷方总额 - 今日借方总额

资金流水表例:

借方贷方金额时间事由
XXX可用XXX存入取出30002017-02-09客户XXX存入3000元
YYY可用XXX可用20002017-02-09客户XXX给YYY转账2000元
YYY冻结YYY可用10002017-02-09客户YYY冻结1000元

余额表例:

科目金额时间
XXX存入取出30002017-02-09
XXX可用10002017-02-09
YYY可用10002017-02-09
YYY冻结10002017-02-09

【mysql】如何设计 用户钱包金额收支记录表?

用户的账户余额可以计算出来,也可以通过每次交易后更新来实现,看你自己的取舍了

楼主,找到了解决方案吗?我也遇到这问题,记录太多。如何优化设计

以上是 【mysql】如何设计 用户钱包金额收支记录表? 的全部内容, 来源链接: utcz.com/a/73235.html

回到顶部