SQL TRIGGER更新时从一个表到另一个表

时间:2012-11-30 08:03:49

标签: mysql sql triggers phpmyadmin

我将开始我在phpmyadmin中使用mysql。

我的桌子:

表1:

primary key = id1;
cash1 = thing I want to pick from that table;

表2:

primary key = id2;

cash2 = thing I want to pick from that table;

表3:

foreign key1 = id1;
foreign key2 = id2;
cash3 = thing I want to make;

所以,我想:

Update (or insert into?) cash3 = cash1*cash2/100 when UPDATE ON cash1 or cash2.

尝试了许多事情,似乎没有任何作用......

1 个答案:

答案 0 :(得分:1)

您的触发器(每个table1和table2需要一个)应该如下所示:

create trigger cash1 on table1 for insert, update
   Select @c1=sum(cash) from table1
   Select @c2=sum(cash) from table2
   Update table3 set cash=@c1*@c2/100
end

注意:以上只是伪代码,因为我不熟悉mysql语法。

此触发器的作用是,当您更改table1中的金额时,它会从table1和table2中选择金额并计算table3的金额并更新它。

你需要另一个触发器,在table2上也是如此。

在不知道您的表格设置(列名称)的情况下,很难用到一个不错的代码示例

希望这有帮助。