首页 > 解决方案 > MySQL 触发器在更新表时无法设置变量

问题描述

我正在尝试获取表 Product_sizes 'stock' 列的总和并将其放入变量中。之后,我打算更新 Products 表的“stock”列。但是当我尝试运行查询时,它会显示语法错误。

这是“产品”表

在此处输入图像描述

这是“Product_sizes”表

在此处输入图像描述

这是我的 SQL 查询

CREATE TRIGGER product_sizes_stock_sum BEFORE UPDATE on product_sizes
FOR EACH ROW
BEGIN
    SELECT SUM(stock) INTO @stocksum FROM product_sizes WHERE product_id = OLD.product_id;
    UPDATE products SET stock = @stocksum where id = OLD.product_id;
END

这是错误消息

在此处输入图像描述

我遵循命名表的 Laravel 约定。

我现在真的很困惑。我在这里先向您的帮助表示感谢

标签: mysqllaravel

解决方案


推荐阅读