我想创建一个触发器,在对特定表执行insert之后,有两个条件,如果第一个条件为true,则执行insert,如果第二个条件为true,则执行update。
类似的东西:
create trigger nameoftrigger
after insert on a
for each row
condition regarding newrowattribute and a.sameattribute
insert into a ---
condition regarding newrowattribute and a.sameattribute
update a different table with same attributes
但我不知道这样做的正确语法,检查两个不同的条件,在第一个条件中执行插入,在第二个条件中执行更新。
2条答案
按热度按时间9rygscc11#
mysql不支持像microsoftsqlserver那样的“代替”触发器。
insert触发器可以执行插入操作,否则它将中止而不执行任何操作。
您应该在应用程序代码中处理您的条件。
raymond nijland提醒我,您也不能编写对执行触发器的表执行任何插入或更新的触发器。你可以创建这样一个触发器,但是当它执行时会产生一个错误。
bttbmeg02#
看到了吗
IF ... THEN ... ELSE ... END IF
对于控制流。如果要修改要插入的内容,请执行以下操作
那就让
INSERT
发生。如果if表达式或col1的表达式需要查看
INSERT
对于col1,则将其称为OLD.col1
.