我正在创建一个触发器,如果新插入的行中的字段statuscode
的值是200,那么它应该运行查询1。但如果statuscode
是300,则运行查询2。这在MySQL中有可能吗?
我试了第一件想到的事,但显然是错的。
CREATE TRIGGER mytrigger AFTER INSERT ON tableA
FOR EACH ROW BEGIN
IF(new.statuscode = 200,
(DELETE FROM tableB WHERE new.guid = tableB.guid),
(UPDATE tableB SET is_complete = 0 WHERE new.guid = tableB.guid))
END
//
DELIMITER ;
最佳答案
mysql过程中IF/ELSE的语法为:
IF (NEW.statuscode = 200) THEN
DELETE FROM tableB WHERE new.guid = tableB.guid;
ELSE
UPDATE tableB SET is_complete = 0 WHERE new.guid = tableB.guid;
END IF;
以下是触发器语法的文档:
http://dev.mysql.com/doc/refman/5.5/en/if.html