【发布时间】:2015-06-16 04:46:19
【问题描述】:
我目前正在开发一个系统,我需要一些帮助。我有一个存储一些客户信息的数据库表。
每条记录都有一个支付日期和一个支付金额。例如:
Customer 1, 2015-06-15, $10
Customer 1, 2015-06-30, $10
Customer 1, 2015-07-15, $10
Customer 2, 2015-06-14, $15
Customer 2, 2015-06-20, $15
...
每个客户都有一个要支付的总金额(客户 1 需要支付 30 美元,客户 2 需要支付 30 美元,等等)。总量存储在数据库的不同表中。现在,如果有人为客户 1 添加了新的付款,系统应该更新其他付款(例如,如果新付款的金额为 6 美元,那么我们需要从其他 3 笔付款中减去 6 美元。在这种情况下,客户 1 的记录应更新为:
Customer 1, 2015-06-15, $8
Customer 1, 2015-06-30, $8
Customer 1, 2015-07-15, $8
Customer 1, 2015-07-30, $6
...
因为客户 1 需要支付 30 美元,并且由于我们要添加新的额外 6 美元,所以我们需要拆分所有现有记录的更改。
如果有人编辑或删除其中一条记录也是如此。
这个想法是通过在用户执行添加/编辑/删除操作时更新所有记录来始终保持总量相同。
有什么想法吗?
提前致谢
【问题讨论】:
-
一种方法是使用数据库触发器。它们在表更新、插入完成或某些删除条目时起作用。如果你有一个mysql数据库,我可以给你一个例子。
-
非常感谢您的回答@v.eigler。不幸的是,我需要通过代码来实现这一点(在这种特定情况下,通过 php)。
-
好吧,我给你举了触发器的例子。这是我最喜欢的方式,但如果将使用 php 进行更改,您也可以在 PHP 中执行此操作。