首页 > 解决方案 > SQL:仅使用 UPDATE 的一个查询中所有列的总和

问题描述

我在大学得到了这个任务。我的任务是用值填充表的新(尚不存在)列:col1 + col2 + col3,仅使用一个基于MySQL中运算符UPDATE的查询。结果,我将有 4 列(col1、col2、col3、sum_of_columns)的表。

如果 UPDATE 只修改现有行,我该怎么做?

标签: mysqlsqlsumsql-update

解决方案


如果新列始终是三列的总和,您可以这样做

ALTER TABLE table1
ADD COLUMN `sum_of_columns` INT GENERATED ALWAYS AS (col1+col2+col3) STORED NULL;

这将是默认值。

当您插入一行时,这将在您将 NULL 添加为第 4 列时添加


推荐阅读