代码之家  ›  专栏  ›  技术社区  ›  Fedir Petryk

用于游戏货币账户存储和更新的数据库设计(mysql)

  •  0
  • Fedir Petryk  · 技术社区  · 11 年前

    将尝试描述问题。

    数据:

    我有一个游戏,玩家可以在其中存入和取出(赢得的)真金白银。 所有游戏资金都存储在贝宝账户中。 对于每次游戏退出和其他操作,我都会减去一些费用。 所有交易和用户帐户都存储在数据库(mysql)中

    问题是:

    我需要保留总游戏资金账户的实际数据。其中一部分属于游戏(费用),另一部分属于用户。

    解决方案建议:

    为每一笔交易创建新的一行游戏帐户更改。 使用此表,我们可以获取所有历史记录和帐户更改、费用

    CREATE TABLE `SystemMoneyAccount` (
      `accountId` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
      `changerId` int(11) DEFAULT NULL,
      `totalMoney` decimal(11,2) DEFAULT NULL,
      `totalFee` decimal(5,2) DEFAULT NULL,
      `changeMoney` decimal(11,2) DEFAULT NULL,
      `changeFee` decimal(11,2) DEFAULT NULL,
      `changeDate` datetime DEFAULT NULL,
      PRIMARY KEY (`accountId`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    

    期待您的帮助和任何建议。谢谢

    1 回复  |  直到 9 年前
        1
  •  0
  •   Fedir Petryk    11 年前

    我得出的结论是使用我之前描述的模型。 只需跟踪系统中的每一笔交易,以及它对系统帐户的影响(系统中的总金额和费用部分)。