MySQL查询-创建触发器,一旦发生销售便更新库存水平

问题描述 投票:-2回答:1

我需要创建一个触发器来在每次购买产品时更新我的​​库存水平。我是MySQL的新手,所以将不胜感激,请帮忙,如果您可以像对5岁的孩子一样解释问题的答案,那将是很棒的:)

我有两个看似适合的表,两个产品都有相同的Product_ID;

  • 产品(产品ID,类别ID,供应商ID,产品名称,描述,尺寸,颜色,成本价格欧元,销售价格欧元,总库存)]]

  • Order_Details

  • (Order_Details_ID,Order_ID,Product_ID,数量已售)]]

    迄今为止的任何尝试均失败。实际上,我只得到以下内容;

    错误代码:1064。您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册在第1行的'on order_details'附近使用的语法

在下面最基本的代码之后;

USE Shoes_By_Sean_Online

CREATE TRIGGER Stock_Update on order_details

同样,我们非常感谢您的帮助。谢谢。

我需要创建一个触发器来在每次购买产品时更新我的​​库存水平。我是MySQL的新手,所以请您提供任何帮助,如果您可以像...

mysql sql database-trigger
1个回答
0
投票

您必须使用定界符您可以将模式添加到表中

DELIMITER $$
 CREATE TRIGGER Stock_Update 
 AFTER INSERT ON Shoes_By_Sean_Online.order_details 
 FOR EACH ROW 
  BEGIN 
    UPDATE products 
      SET products.Total_Stock = products.Total_Stock - New.Quantity_Sold 
    WHERE products.Product_ID = New.Product_ID;
  END$$
DELIMITER ;
© www.soinside.com 2019 - 2024. All rights reserved.