给出mysql数据库表上的AFTER INSERT触发器和PDO插入记录调用。触发器会在insert语句的返回结果之前发生还是以异步方式发生?如果触发器永远执行,它会阻止返回结果吗?
答案 0 :(得分:1)
在mysql服务器响应客户端请求之前,在 PDO::query
返回或更好地说话之前会发生。这对于保持数据健康是必要的。
证明这一点的最佳测试是将错误放入触发器代码中,并在php中看到错误。
答案 1 :(得分:0)
根据MySQL文档, 在BEFORE或AFTER触发器期间发生错误会导致导致触发触发器的整个语句失败。
因此,一旦触发器完成执行,您的查询将返回结果,否则将返回错误。
参考:https://dev.mysql.com/doc/refman/8.0/en/trigger-syntax.html