mysql - 尝试从 start_date + duration 生成 end_date 时 MySQL 触发错误
问题描述
你好
当我尝试使用此触发器计算 end_date 时收到此消息。持续时间 Integer 来自另一个表。这是在 Mamp 环境中的 MySQL 中完成的
任何帮助表示赞赏
使用的代码
DELIMITER //
CREATE TRIGGER m_duration_ins_tr1
BEFORE INSERT ON memberships
FOR EACH ROW
BEGIN
DECLARE duration INTEGER;
SELECT duration FROM membership_type WHERE
membership_type_id = NEW.member_type;
SET NEW.end_date := DATE_ADD(NEW.start_date, INTERVAL duration MONTH);
END //
DELIMITER ;
解决方案
触发事件可以是 INSERT 、 UPDATE 或 DELETE 。我不认为你可以选择。尝试使用 mysql 工作台创建触发器
推荐阅读
- c# - 此 SqlParameterCollection 不包含具有 ParameterName 'server_name' 的 SqlParameter
- php - 如何在php中的两个多维数组之间找到不同的数组
- javascript - 如何以正确的形式编写 if else 条件
- python - 如何使用张量流解码图像 roi?
- nginx - 为什么nginx有3个进程?
- c# - UWP 中 ComboBox 的奇怪行为 - SelectedItem 和 ItemsSource
- python - python中的adaBoost投票数据和目标表单
- performance - WebGl 不相交的计时器查询峰值
- vba - 如何获取动态数组中的最后一个值
- java - 如何从 XSD 迭代字典键创建动态 XML?