在返回PDO结果之前是否会发生MySql触发器?

时间:2014-03-04 19:11:26

标签: php mysql pdo triggers

给出mysql数据库表上的AFTER INSERT触发器和PDO插入记录调用。触发器会在insert语句的返回结果之前发生还是以异步方式发生?如果触发器永远执行,它会阻止返回结果吗?

2 个答案:

答案 0 :(得分:1)

在mysql服务器响应客户端请求之前,在 PDO::query返回或更好地说话之前会发生。这对于保持数据健康是必要的。

证明这一点的最佳测试是将错误放入触发器代码中,并在php中看到错误。

答案 1 :(得分:0)

根据MySQL文档, 在BEFORE或AFTER触发器期间发生错误会导致导致触发触发器的整个语句失败。

因此,一旦触发器完成执行,您的查询将返回结果,否则将返回错误。

参考:https://dev.mysql.com/doc/refman/8.0/en/trigger-syntax.html