【发布时间】:2017-01-02 22:51:46
【问题描述】:
我在 Postgres 9.5+ 中有一个 INSERT 语句,但由于键冲突,INSERT 有时实际上并没有发生(我在 INSERT 上设置了 ON CONFLICT DO NOTHING)。
如果 INSERT 发生,那么触发器当然会运行。但是如果由于键冲突而没有发生 INSERT,触发器还会运行吗?
是否取决于它是BEFORE 还是AFTER 触发器?
【问题讨论】:
-
insert触发器不会运行,因为没有要运行的行。如果您执行了update,则会运行更新触发器。
标签: sql postgresql triggers sql-insert