gpt4 book ai didi

php - 在存储过程之外提交事务

转载 作者:行者123 更新时间:2023-11-29 03:32:40 24 4
gpt4 key购买 nike

当执行 1 个或多个存储过程时,您可以在过程周​​围而不是在过程内部放置事务吗?

$db->beginTransaction();

$db->exec("call my_procedure()");
$db->exec("call my_second_procedure()");

$db->commit();

当执行上述 (pdo) 时,事务是在两次调用后提交,还是在每次调用 beginTransaction() 后自动提交>commit()没用?

最佳答案

是的,你可以。

只要没有过程在内部执行 COMMITROLLBACKSTART TRANSACTION,并且只要没有过程 (或您的代码)执行任何 statements that cause an implicit commit , 这很好用。

当您有一个事务正在运行时,自动提交不会生效,即使 SELECT @@autocommit; 仍将指示“1”,这只是表明您的 session 当事务不活跃时处于自动提交模式。

关于php - 在存储过程之外提交事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28201347/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com