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

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

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

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

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

guz6ccqo

guz6ccqo1#

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

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

请参阅简化的演示。

相关问题