您好我的问题涉及在Mamp环境中从MySql中的两个不同表添加日期。
会员资格的会员资格类型是1到多个链接是type_id
日期是yyyy/mm/dd
格式,因为这是Mamp允许我研究的唯一格式。
我想要一个新的结束日期列,链接到成员资格类型表中的列持续时间。我想将Duration_day
添加到start_date
以生成与type_id匹配的结束日期。 (所以他们联系起来给出正确的结束日期)
我希望在保存开始日期和类型ID时自动计算它
任何帮助将不胜感激谢谢
INSERT / UPDATE需要一个触发器 - 计算列(对于MySQL v5.7.6 +)在你的情况下不起作用(它只能引用同一个表中的列)。 2个触发器可能如下所示
CREATE DEFINER = 'root'@'%' TRIGGER `m_duration_ins_tr1` BEFORE INSERT ON `membership`
FOR EACH ROW
BEGIN
DECLARE duration INTEGER;
SELECT m_duration INTO duration FROM membership_type WHERE id = NEW.type_id;
SET NEW.end_date := DATE_ADD(NEW.start_date, INTERVAL duration DAY);
END;
CREATE DEFINER = 'root'@'%' TRIGGER `m_duration_ins_tr1` BEFORE UPDATE ON `membership`
FOR EACH ROW
BEGIN
DECLARE duration INTEGER;
SELECT m_duration INTO duration FROM membership_type WHERE id = NEW.type_id;
SET NEW.end_date := DATE_ADD(NEW.start_date, INTERVAL duration DAY);
END;