触发器语法 mySQL
Trigger Syntax mySQL
我想让总计列接收其他列之间的总和,但我一直收到错误 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
您可以在插入前触发器中通过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 作为此触发器的替代方法。
知道了,一切正常。
我想让总计列接收其他列之间的总和,但我一直收到错误 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
您可以在插入前触发器中通过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 作为此触发器的替代方法。
知道了,一切正常。