我在 MySQL 数据库中有几列我想添加并存储在另一列中:
column1 column2 column3 subtotal
10 10 10 30
有没有办法做到这一点?
update yourtable set subtotal = col1 + col2 + col3
如果您只是更新小计,则必须保持其值 - 即每次更新其他列之一时,您的代码也必须记住更新小计。
有两种方法可以解决这个问题:
VIEW
进行计算的我认为选项 2 是最好的方法。
下面介绍如何编写视图。
create view mytable_totalled as
select col1, col2, col3, col1 + col2 + col3 as subtotal
from mytable
创建后,视图可以像表格一样使用(有一些注意事项),但您当然可以对其进行任何类型的选择。新列在选中时即时计算
好吧,如果这只是一次性交易,您可以像这样执行更新查询:
UPDATE MyTable set subtotal = (column1 + column2 + column3)
如果您希望在插入时计算它,您可以有一个计算列。
我个人会等到你需要它来计算它,这样可以很容易地从你的数据中得出的信息不会让你的数据库膨胀。
这个怎么样?
UPDATE tableName SET subtotal = (column1 + column2 + column3)
如果您真的不需要表中的小计列,只需使用查询作为
SELECT *, (column1 + column2 + column3) as subtotal
FROM tableName