我是数据库新手。因此,尽我所能设计库存管理系统。我想做以下
数据库名称为“yh_electronic”
表名是 - 订单
属性是: -
Order_Total DECIMAL(15,2)
Total_Paid DECIMAL(15,2)
Balance_Due DECIMAL(15,2)
我希望在order_Total和Total_Paid列插入新值或更新Total_paid值时自动填充Balance_Due列。所以,我试图使用以下查询创建一个触发器:
DELIMITER $$
DROP TRIGGER IF EXISTS yh_electronics.orders_AINS$$
USE `yh_electronics`$$
CREATE TRIGGER `orders_AINS` AFTER INSERT ON `orders` FOR EACH ROW
UPDATE Balance_Due SET NEW.Balance_Due=NEW.Order_Total-NEW.Total_paid$$
DELIMITER ;
查询执行得很好。
但是当我插入一个包含Order_Total和Total_Paid值的新行时,我看到了 错误代码:1442。无法在存储的函数/触发器中更新表'order',因为它已被调用此存储函数/触发器的语句使用
任何人都可以帮我解决这个问题,如果无法创建触发器,那么有人会帮助我如何为此创建一个程序。谢谢
答案 0 :(得分:0)
将其更改为BEFORE
CREATE TRIGGER `orders_AINS` BEFORE INSERT ON `orders` FOR EACH ROW