在我的sql表中,我有三列,价格,成本,收入。我希望收入自动等于价格 - 成本(对于每个单独的行,而不是总计)。而且我也想知道如何对现有的行一次性完成这一切。
编辑:我正在使用mysql
答案 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设置收入=价格 - 费用在哪里价格>成本;