2017-05-31 83 views
2

我想使Total列接收其他列之間的總和,但我不斷收到錯誤1193.我是mySql的新手,所以我不知道應該從哪裏開始尋找解決錯誤。觸發語法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

+1

你想用總價值做什麼? – Shadow

+0

我想要將總值插入列總數據庫中,所以我可以搜索它。例如,我搜索了Id = 1的payement,其中Abetura_Processo = 10和Telefone = 10等等,然後我希望總列等於80。 –

回答

3

您可以通過前插入觸發器中的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來替代這個觸發:那麼,如下更改值設定線。

0

明白了,每件事情都很好。