我在MySQL数据库中有几列我想添加并存储在另一列中:
column1 column2 column3 subtotal
10 10 10 30
有没有办法实现这个目标?
答案 0 :(得分:4)
update yourtable set subtotal = col1 + col2 + col3
答案 1 :(得分:1)
如果您只是更新小计,则必须维护其值 - 即每次更新其他列之一时,您的代码也必须记住更新小计。
有两种方法可以解决这个问题:
VIEW
我认为选项2是最好的方法。
以下是您对视图进行编码的方式。
create view mytable_totalled as
select col1, col2, col3, col1 + col2 + col3 as subtotal
from mytable
创建后,视图可以像桌子一样使用(有一些注意事项),但你可以选择对它进行任何选择。选择时,新列将立即计算
答案 2 :(得分:0)
如果这只是一次性交易,你可以像这样做一个更新查询:
UPDATE MyTable set subtotal = (column1 + column2 + column3)
如果要在插入时计算它,可以使用计算列。
我个人只是等到你需要它来计算它,以便可以从你的数据中轻易获得的信息不会使你的数据库膨胀。
答案 3 :(得分:0)
这个怎么样?
UPDATE tableName SET subtotal = (column1 + column2 + column3)
如果你真的不需要表中的小计列,只需使用查询
SELECT *, (column1 + column2 + column3) as subtotal
FROM tableName