我在桌子上添加了这个触发器:
create table if not exists t_sells(
sellID integer primary key auto_increment,
FKcustID integer, foreign key(FKcustID)
references t_customers(custID),
FKemployeeID integer, foreign key(FKemployeeID)
references t_employees(employeeID),
FKartID integer, foreign key(FKartID)
references t_articles(artID),
soldNumber integer,
soldDat date
);
delimiter //
create trigger trig_stockupdate after insert
on t_sell for each row
begin
declare var_artID integer;
declare var_soldNumber integer;
select FKartID, soldNumber from t_sell
into var_artID, var_soldNumber;
update t_articles set artAmountInStock = (artAmountInStock-var_soldNumber)
where artID = var_artID;
end //
delimiter ;
每当新订单插入t_verkauf时,它应该读取已售出的商品数量,然后从另一个表格中的库存中减去此数字。 插入第一个订单时它工作正常,但是当我插入一个secon时间时,我总是得到ERROR 1172(42000):结果由多行组成。
我想这很明显,但我找不到我做错了什么......
P.S。我将表名,变量更改为英语,更容易为您阅读。