尝试创建一个触发器,用于更新另一个表中一个表的数量

时间:2015-10-19 16:27:23

标签: mysql sql mysql-error-1064

我有两张正在销售的产品表。一个是实际产品的表格,另一个是订购商品的表格。

订购的商品表记录了itemId和销售数量。

我想创建一个触发器,该触发器从订购的物料表中获取数据并更新产品表数量,该列称为quantityInStock。

这是我写的触发器,但我一直收到错误:

delimiter $$

create trigger stockUpdate 
after insert on orderItem 
for each row  
 begin  
  update item(quantityInStock)  
  set quantityInStock = quantityInStock - orderItem.quantity    
  where itemId = orderItem.itemId; 
 end$$

我的错误讯息:

  

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在'(quantityInStock)附近使用正确的语法   set quantityInStock = quantityInStock - orderItem.quantity w'at line 5

1 个答案:

答案 0 :(得分:0)

检查更新语法。

update table_name
set column_name = ...
where column_name = ...;

您可以分别使用old.column_namenew.column_name引用上一行/新行值。

需要考虑的一些事项:

如何防止数量消极