在mysql中使用groupby和store作为新列(永久)对列进行求和

sq1bmfud  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(308)

mysql表中有50列。我想对所有这些列求和,并在同一个表中创建一个新列(sum50)。每当我更新或插入新数据时,这应该永久地存储在mysql表中。我知道在执行查询时如何求和,但它不会永久存储到表中。

CREATE TRIGGER `name` 
AFTER INSERT ON `table` 
FOR EACH ROW  
UPDATE `table` SET `table`.`coulms` =  `table`.`col1`+....      `table`.`col50`+

我正在尝试上述触发器,但不起作用。我应该在表中插入一个空白列并执行触发器吗?哪个触发器是正确的?

guz6ccqo

guz6ccqo1#

将生成的列添加到表中,而不是触发器:

alter table tablename add(sum50 int generated always as (col1 + col2 + ...) stored);

请参阅简化的演示。

相关问题