当我运行Trigger超过一次时,MySQL得到ERROR 1172(42000):结果由多行

时间:2017-11-19 11:41:09

标签: mysql triggers

我在桌子上添加了这个触发器:

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。我将表名,变量更改为英语,更容易为您阅读。

0 个答案:

没有答案