我需要一些建议。
开始事务后有回滚时最好的做法是什么?
- 执行网站的其余部分
- 终止整个网站,并显示错误消息。
谢谢!
这真的取决于你想做什么。
然而:
这真的取决于为什么ROLLBACK
发出 MySQL 语句。应用程序有一个发布它的理由,所以应用程序应该有一个用于该组条件的代码路径。
通常,当某些条件导致无法继续前进时,会调用 ROLLBACK。因此,这通常作为中止完成。“杀死整个网站”听起来有点激烈。如果此交易是某些用户交互的结果,礼貌的做法是向用户显示一条消息“您的请求遇到问题,请稍后再试。” (没有理由向用户显示堆栈跟踪。)
并且应用程序应该将错误情况的详细信息记录到日志中,包括用户身份和某种事务 ID、堆栈跟踪以及任何其他相关信息,以供分析。