我有一个问题,我希望那里的人能够提供帮助。
我试图编写一个触发器,它接受日期时间戳并将日期放入新列。但同样,如果不同列中的值等于x,则将其替换为y。
我可以让个别陈述起作用(例如,如果我只是单独使用日期代码或替换代码,它可以正常工作),但我无法让它们在同一个触发器中工作。
SET NEW.date = LEFT(NEW.entrydate, 10);
IF
(NEW.connect_ip = "1.2.3.4")
THEN SET
NEW.connect_ip = "0.0.0.0";
END IF
答案 0 :(得分:1)
多语句触发器需要在" body"周围进行BEGIN和END,并且通常在其声明周围覆盖DELIMITER。
实施例/模板:
ode/src
或者,就你的具体情况而言,前几天我注意到了一个我忽略的可能性的答案;你可以在SET语句中设置多个东西:
DELIMITER $$
CREATE TRIGGER [blah blah]
BEGIN
[do stuff]
END$$
DELIMITER ;