MySql计算

时间:2015-11-11 19:20:58

标签: mysql database

我正在尝试在MySQL中添加列并动态填充其他列。

e.g 我有一张桌子'数字' 并列第1列,第2列,第3列,其中总数应填入第4列

2 个答案:

答案 0 :(得分:0)

select field_1, field_2, field_3, (field_1+field_2+field_3) as field_4 from your_table

答案 1 :(得分:0)

除非我误解你的问题,否则你不是在寻找:

UPDATE numbers SET column4 = (column1 + column2 + column3);

这会将表数字的所有行中的column4更新为前3列的总和。

或者,您也可以在SELECT期间进行添加:

SELECT column1, column2, column3, (column1 + column2 + column3) AS column4 FROM numbers;

在这种情况下,您不需要数据库表中的实际column4。

修改 要在每次更新其他列之一时更新column4,您可以使用触发器:https://dev.mysql.com/doc/refman/5.5/en/trigger-syntax.html(其实是链接文档中非常相似的示例。)

但是要小心使用触发器,不是因为它们本身就有任何错误 - 根本不是 - 但是因为使用它们有时会将属于代码的逻辑移动到难以定位,调试和保持版本控制。