mysql - 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 约定。
我现在真的很困惑。我在这里先向您的帮助表示感谢
解决方案
推荐阅读
- typescript - 打字稿:为什么不严格返回类型?
- python - 如何将 txt 文件转换为数组的哈希图
- angular - 等待一个可观察对象返回以发出另一个请求
- curl - 出现错误:Libcurl 中的“libcurl 中不支持或禁用协议 https”
- java - “无法实例化appComponentFactory”我尝试了很多方法,但我得到了同样的错误
- python - 有没有办法有效地将年份破折号(例如 1976-1977)更改为可处理的年份?
- android - 错误:[Dagger/MissingBinding] @com.zhixin.wedeep.common.di.LoginApi okhttp3.OkHttpClient 不能在没有@Provides-annotated 方法的情况下提供
- typescript - FlatList scrollToIndex 打字稿博览会
- php - 使用 curl 或 webhook 从外部服务器将数据发布到数据库
- android - 带有 androidx 的 Fragment 中按钮的 SetBackground 显示警告:参数 getActivity() 可能为空