繁体   English   中英

事务,存储过程和PDO

[英]Transaction, stored procedure and PDO

PHP中的一个动作必须经过以下步骤:

  1. 执行否 来自PHP PDO的mysql语句,基于许多业务逻辑。
  2. 执行存储过程。
  3. 从PDO执行更多MySQL语句。

整个过程必须是单个事务。 如果MySQL存储过程中发生任何错误,则必须回滚整个事务。 (存储过程具有查询以创建临时表,执行基于游标的扫描并执行插入操作。)即使在存储过程之后PDO中发生错误,也必须完全回滚事务,包括在其中发生的任何更改。存储过程。

基于PDO的查询在很早以前就已编程。 并且存储过程将根据客户的新要求而被新引入。

在PHP中,在第1步的开始处开始事务处理。在第3步的末尾进行提交。在末尾有一个catch块,这会导致回滚。

是否应该在存储过程中启动事务? 如果是这样,如何在出错时完全回滚? 还是应该在存储过程中将auto-commit设置为false? 或者,是否有其他方法可以通知MySQL此存储过程已经是事务的一部分。

如果不是,是否保证整个操作的原子性?

这是mohip报价的链接: http ://dev.mysql.com/doc/refman/5.6/en/begin-end.html事务未在存储过程中自动运行,需要通过“ START TRANSACTION”来触发它,我正要问这个问题。 感谢您的报价。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM