从具有外键关系的另一个表自动计算数据库字段

时间:2016-05-28 10:51:18

标签: mysql phpmyadmin

我有两张桌子:

  • 表A,列A-id和双字段列总量
  • 表B,包含外键列A-id和amount列。

我希望表A中的总金额自动更改,具体取决于字段。

这种行为是否可以实施?从本质上讲,我希望该字段能够保存每次在表B中添加/删除/更新行时运行的查询。我使用phpMyAdmin(如果它是相关的)。

我尝试过使用以下查询:

  1. 获取当前总金额并将其放入名为i。
  2. 的变量中
  3. 在表B中进行更改。
  4. 更新表A中的新总金额。
  5. 然而,这并没有效率。

2 个答案:

答案 0 :(得分:1)

不要这样做。在单个查询中即时计算值。您需要加入表

select *, a.amount  + b.amount as total_amount
from tableA a
inner join tableB b on a.a_id = b.a_id

答案 1 :(得分:0)

你可以使用触发器来做这样的事情。

否则你应该在B表变化时使用编码本身进行更改,它应该影响A表。无论它添加,编辑,删除。