在表中使用MySQL SUM函数填充列

时间:2018-10-02 00:03:55

标签: mysql

我试图用表中其他一些列的总和填充一列。当我尝试时:

UPDATE table SET sum_field = other_field1;

没有问题,但是当我尝试时:

UPDATE table SET sum_field = SUM(other_field1 + other_field2 + other_field3);

我收到语法错误。

那是为什么?

1 个答案:

答案 0 :(得分:1)

您无需在这里使用SUM,只需使用加法运算符求和:

UPDATE table
SET sum_field = other_field1 + other_field2 + other_field3;

当前更新失败的原因是SUM是SQL中的聚合函数。您是在告诉MySQL将每个记录中的sum_field更新为整个中三列的总和。

顺便说一句,将生成的列添加到现有表可能更有意义:

ALTER TABLE table
ADD COLUMN sum_field INT GENERATED ALWAYS AS (other_field1 + other_field2 + other_field3)