Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
处理;分类账;在MySQL中并跟踪总余额_Mysql_Sql - Fatal编程技术网

处理;分类账;在MySQL中并跟踪总余额

处理;分类账;在MySQL中并跟踪总余额,mysql,sql,Mysql,Sql,我的应用程序中有一种简单的分类账。我跟踪每个余额调整,即将10美元存入一个5美元的账户,创建一个包含10美元金额和15美元总额的新行。15美元的数字是我很难弄清楚该如何处理的部分 我可以用我的DB adapter在应用程序代码方面完全做到这一点,方法是获取最后一行的总数并添加到新的金额中,并在此基础上创建一个新的总额余额。然而,出于某种原因,我觉得这是不对的。我觉得我应该能够以某种方式在MySQL中完成这些逻辑 类似于“创建一个新记录,其中用户id='123',金额为+10”,它会自动为总余额创

我的应用程序中有一种简单的分类账。我跟踪每个余额调整,即将10美元存入一个5美元的账户,创建一个包含10美元金额和15美元总额的新行。15美元的数字是我很难弄清楚该如何处理的部分

我可以用我的DB adapter在应用程序代码方面完全做到这一点,方法是获取最后一行的总数并添加到新的金额中,并在此基础上创建一个新的总额余额。然而,出于某种原因,我觉得这是不对的。我觉得我应该能够以某种方式在MySQL中完成这些逻辑

类似于“创建一个新记录,其中用户id='123',金额为+10”,它会自动为总余额创建一个15的新记录


这可能吗?

您可以研究触发器的使用。我可能在这方面错了,但是在mysql中使用SUM()函数怎么样<代码>选择用户id=123的总和(金额)@TimWithers啊,太棒了。我想我可能把它复杂化了。我唯一担心的是速度。每个请求都需要经过所有的调整,但也许MySQL足够快,这对95%的用户来说不是问题。我试试一般来说,分类账有一个交易表和一个账户表。余额将在账户表中。通过分离交易和余额,可以从交易中重新创建余额。