PHP中的单个操作必须执行以下步骤:
-
执行号码 . 来自PHP PDO的mysql语句,基于许多业务逻辑 .
-
执行存储过程 .
-
从PDO执行更多MySQL语句 .
整个过程需要是一个单一的交易 . 如果MySQL存储过程中发生任何错误,则必须回滚整个事务 . (存储过程具有查询以创建临时表,执行基于游标的扫描并执行插入 . )即使在存储过程之后PDO中发生错误,也必须完全回滚事务,包括发生的任何更改 . 存储过程 .
基于PDO的查询在很长一段时间内被编程 . 并且根据客户的新要求重新引入存储过程 .
在PHP中,事务在步骤1开始时启动 . 并且在步骤3结束时有一个提交 . 最后有一个catch块,这会导致回滚 .
是否应该在存储过程中启动事务?如果是这样,如何完全回滚错误?或者我们应该在存储过程中手动将auto-commit设置为false吗?或者,是否有其他方式通知MySQL此存储过程已经是事务的一部分 .
如果不是,整个行动的原子性是否得到保证?
1 回答
它's the link for mohip'的引用:http://dev.mysql.com/doc/refman/5.6/en/begin-end.html事务没有自动在存储过程中运行,需要通过"START TRANSACTION"触发它,我正要问这个问题 . 谢谢你的报价 .