我试图让这段代码工作,但无济于事..MySQL的触发器的if-else INSERT,UPDATE
DELIMITER $$
CREATE
TRIGGER `update_tbl1` AFTER UPDATE
ON `tbl1`
FOR EACH ROW BEGIN
IF (SELECT count(*) FROM tbl1 WHERE stn=NEW.stn) = 1
THEN
UPDATE tbl2 SET date_posted=NEW.date_posted WHERE stn=NEW.stn;
ELSE
INSERT INTO tbl2 (stn) VALUES (NEW.stn);
END IF
END$$
DELIMITER ;
我有两个表,我想一个触发器,将更新TBL2如果TBL1是只有当数据已经存在于tbl2上时才更新,否则插入它。我的代码似乎是可行的,错误似乎是语法相关的,但我无法找到在哪里。
编辑:
以下是错误:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INTO tbl2 (stn) VALUES (NEW.stn); END IF END' at line 10
我很尴尬,但感谢你的鹰眼前! :) – xjshiya