Когда я добавляю новую запись в свой набор данных dabatase, метка с датой должна добавить 3 часа к минимальному значению, уже установленному в базе данных. Если минимальное значение: 2020-02-15 01: 58: 07 , то новый регистр должен быть: 2020-02-15 04: 58: 07
In Чтобы сделать это, я использую этот триггер:
CREATE TRIGGER image_demand BEFORE INSERT ON demand_img
FOR EACH ROW
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE val DATE DEFAULT NULL;
DECLARE minValue CURSOR FOR SELECT min(date_demand) AS RES FROM demand_img;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
OPEN minValue;
read_loop : LOOP
FETCH minValue INTO val;
IF done THEN
LEAVE read_loop;
END IF;
END LOOP;
CLOSE minValue;
IF val IS NOT NULL THEN
SET NEW.date_demand = DATE_ADD(val, INTERVAL 3 HOUR);
END IF;
END //
Но получается, что итоговая дата: 2020-02-15 03: 00: 00 Итак, кажется, что MySQL принимает только дневное значение и добавляет 3 часа с 00h. Возможная ключевая строка:
SET NEW.date_demand = DATE_ADD(val, INTERVAL 3 HOUR);
Что я могу сделать, чтобы это исправить?
Спасибо.
J.