mysql - 在 MySQL Workbench 中执行触发代码时出错
问题描述
我正在使用触发器,但在执行代码时出现错误:
CREATE TRIGGER my_trigger
AFTER INSERT
ON reservation
FOR EACH ROW
EXECUTE PROCEDURE update_available_space NEW.date_shift, NEW.start_hour_shift;
错误代码:1064。您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 5 行的“PROCEDURE update_available_space NEW.date_shift, NEW.start_hour_shift”附近使用正确的语法
有人知道哪个是错误吗?
解决方案
EXECUTE PROCEDURES 不执行存储过程
在 mysql 你调用程序
CREATE TRIGGER my_trigger
AFTER INSERT
ON reservation
FOR EACH ROW
CALL update_available_space( NEW.date_shift, NEW.start_hour_shift);
但请记住,您不能在一个过程中更改同一个表,这会触发 TRIGGER
推荐阅读
- join - Log Analytics - 是否可以将行合并为同一列 ID 上的单行
- c - 如何将枚举变量分配给数组索引的指针
- jquery - JQUERY 嵌套元素选择器/元素
- c - 不知道如何实现指向 char 指针数组的指针
- azure - Azure Function BlobContainer.ListBlob 在 Portal CScript 中可用,在 VS C# 中不可用
- image - Android 和 iOS 之间的 Xamarin Forms 图像不匹配
- sql - 在 2 列的条件下从 sql server 中删除重复值
- amazon-web-services - Spark - “spark.deploy.spreadOut = false”可以在 S3 上提供性能优势
- python - 加快熊猫循环计数器
- html - FireFox 中的 SVG 渲染不准确