我得到了一个用例,如果其他相同类型的用户发生更改,则用户需要更新某个TIME
字段。
我被分为两列
horario_arribo(时间)
horario_salida(时间)
现在,我需要做的是跟进
进行触发,以便在例如更改 horario_arribo 时, horario_salida 与 horario_arribo 的时间相同,减去1小时,如果我更新 horario_salida ,使 horario_arribo 加1小时。
我一直在考虑如何做,首先检查要更新的值是否是 horario_salida ,然后我在 horario_arribo 上加上1小时,或者正在将 horario_arribo 更新为与 horario_salida 相同,但减去了1小时。
DELIMITER //
CREATE TRIGGER modificar_horarioruta AFTER
UPDATE ON ruta
FOR EACH ROW
BEGIN
IF(new.horario_salida) THEN
SET AddTime(old.horario_arribo, '00:60:00')
ELSE
SET AddTime(old.horario_salida, Here I dont know how to minus 1 hour to that)
END IF;
END //
DELIMITER ;
这是我的数据
因此,简而言之,如果我更新 horario_salida ,则 horario_arribo 需要提前1小时,如果我更新 horario_arribo , horario_salida 需要减少1小时。
谢谢
答案 0 :(得分:0)
IIUC:
DELIMITER //
CREATE TRIGGER modificar_horarioruta AFTER
UPDATE ON ruta
FOR EACH ROW
BEGIN
IF (NEW.horario_salida) THEN
SET NEW.horario_arribo = OLD.horario_arribo + 1;
ELSE
SET NEW.horario_salida = OLD.horario_salida - 1;
END IF;
END //
DELIMITER ;
让我知道这是否不是您所需要的。