我有两张正在销售的产品表。一个是实际产品的表格,另一个是订购商品的表格。
订购的商品表记录了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
答案 0 :(得分:0)
检查更新语法。
update table_name
set column_name = ...
where column_name = ...;
您可以分别使用old.column_name
,new.column_name
引用上一行/新行值。
需要考虑的一些事项:
如何防止数量消极