首页 > 解决方案 > 尝试从 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 ;

标签: mysqltriggersmamp

解决方案


触发事件可以是 INSERT 、 UPDATE 或 DELETE 。我不认为你可以选择。尝试使用 mysql 工作台创建触发器


推荐阅读