Mysql从两个不同的列添加日期到日期

问题描述 投票:-1回答:1

您好我的问题涉及在Mamp环境中从MySql中的两个不同表添加日期。

会员资格的会员资格类型是1到多个链接是type_id

日期是yyyy/mm/dd格式,因为这是Mamp允许我研究的唯一格式。 我想要一个新的结束日期列,链接到成员资格类型表中的列持续时间。我想将Duration_day添加到start_date以生成与type_id匹配的结束日期。 (所以他们联系起来给出正确的结束日期) 我希望在保存开始日期和类型ID时自动计算它

任何帮助将不胜感激谢谢

mysql mamp dateadd
1个回答
0
投票

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;
© www.soinside.com 2019 - 2024. All rights reserved.