首页 > 解决方案 > 使用触发器更新同一个mysql表中的数据

问题描述

我有一个 mysql 表,QuotationPrt。我想创建以下触发器

DECLARE TOTAL FLOAT;
DECLARE QTY FLOAT; 
DECLARE UNITCOST FLOAT;
DECLARE OPERATIONCOST FLOAT; 
DECLARE TOOLINGCOST FLOAT; 

SELECT QUOTATIONPRT.QTY,QUOTATIONPRT.UNITPRICE,QUOTATIONPRT.OPERATIONCOST,QUOTATIONPRT.TOOLINGCOST INTO QTY,UNITCOST,OPERATIONCOST,TOOLINGCOST FROM QUOTATIONPRT WHERE QUOTATIONPRTID=OLD.QUOTATIONPRTID;

SET TOTAL=(QTY*UNITCOST)+OPERATIONCOST+TOOLINGCOST;

UPDATE QUOTATIONPRT SET QUOTATIONPRT.TOTAL=TOTAL WHERE QUOTATIONPRT.QUOTATIONPRTID=OLD.QUOTATIONPRTID;

END 

这应该更新 quoteprt 的 TOTAL 列。但是当我尝试更新 quoteprt 表中的数据时,它会给出错误并且数据没有更新。我可能在数据更新后编写了触发器并尝试更新同一个表。

那么有什么方法可以更新 TOTAL 列吗?

标签: mysqltriggers

解决方案


推荐阅读