【问题标题】:Trigger Syntax mySQL触发器语法 mySQL
【发布时间】:2017-05-31 20:28:28
【问题描述】:

我想让 Total 列接收其他列之间的总和,但我一直收到错误 1193。 我是 mySql 的新手,所以我不知道应该从哪里着手解决错误。

DELIMITER $$
CREATE TRIGGER Total
BEFORE INSERT ON `despesas` FOR EACH ROW
BEGIN
    SET Total = Abertura_Processo+Telefone+Correspondencia+Cartorio+Conservatorio+Servico_Financas+Taxas_Emolumentos+Honorarios;
END;
$$
DELIMITER ;

我已经阅读了一些内容,据我所知,我需要创建一个变量,但我不知道如何。 The total column has its values manually inserted i want it to be automatically

【问题讨论】:

  • 你想对总值做什么?
  • 我想将总值插入数据库中的总计列,以便我可以搜索它。例如,我搜索了 Id=1 的付款,其中 Abetura_Processo=10 和 Telefone=10 等等,然后我希望总列等于 80。

标签: mysql sql database-trigger


【解决方案1】:

您可以在插入前触发器中通过NEW.column_name 引用新插入记录的字段。通过为这样的列设置一个值,您可以更改正在插入的值。因此,将值设置行更改如下:

SET NEW.Total = NEW.Abertura_Processo+NEW.Telefone+NEW.Correspondencia+NEW.Cartorio+NEW.Conservatorio+NEW.Servico_Financas+NEW.Taxas_Emolumentos+NEW.Honorarios;

注意,您可以使用generated columns 作为此触发器的替代品。

【讨论】:

    【解决方案2】:

    知道了,一切正常。

    【讨论】:

      猜你喜欢
      • 2015-08-09
      • 1970-01-01
      • 2015-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-18
      • 2015-12-02
      • 1970-01-01
      相关资源
      最近更新 更多