我的测试数据库上有2个表(t1,t2)。
CREATE TABLE IF NOT EXISTS `t1` (
`name` varchar(10) NOT NULL,
`code` varchar(10) NOT NULL,
`end_date` varchar(8) NOT NULL
);
CREATE TABLE IF NOT EXISTS `t2` (
`date` varchar(8) NOT NULL
);
我想在更新t1.end_date时为更新t2.date(带有t1.end_date值)创建一个触发器。 我尝试过这种方式但没有成功(变量'OLD'不是变量组件(不能用作XXXX.variable_name)。)
CREATE TRIGGER update_date BEFORE UPDATE ON t1 FOR EACH ROW
IF NOT (t1.NEW.end_date <=> t1.OLD.end_date) THEN
SET t2.OLD.date = t2.NEW.end_date;
END IF
我该怎么做?感谢
答案 0 :(得分:1)
delimiter |
CREATE TRIGGER update_date AFTER UPDATE ON t1
FOR EACH ROW BEGIN
IF NOT (NEW.end_date <=> OLD.end_date) THEN
update t2
SET `date` = NEW.end_date;
END IF;
END
|
delimiter ;
date
数据类型!