如何在SQL中创建“column3”=“column1” - “column2”

时间:2015-11-29 06:16:46

标签: mysql sql

在我的sql表中,我有三列,价格,成本,收入。我希望收入自动等于价格 - 成本(对于每个单独的行,而不是总计)。而且我也想知道如何对现有的行一次性完成这一切。

编辑:我正在使用mysql

2 个答案:

答案 0 :(得分:2)

您需要将收入定义为计算列,如下所示:

CREATE TABLE sales ( 
price DECIMAL(5,2),  
cost DECIMAL(5,2),
revenue DECIMAL(5,2) AS (price - cost)
);

根据现有记录,如果您执行alter table,则会更新所有记录。

答案 1 :(得分:2)

这将更新每一行:

  

更新table_name设置收入=价格 - 成本;

您可以添加"其中"限制哪些行更新的子句。例如,要防止将任何收入值设置为负数:

  

更新table_name设置收入=价格 - 费用在哪里价格>成本;