gpt4 book ai didi

php - 提交或回滚是否在 PHP 的 mysqli 中隐式打开自动提交?

转载 作者:可可西里 更新时间:2023-10-31 23:32:58 26 4
gpt4 key购买 nike

我在 PHP 中使用 mysqli 类进行事务处理,我发现 autocommit() 的文档非常不完整。我从示例中推断,将 autocommit 设置为 false 会隐式执行“开始事务”。这个对吗?更重要的是,我没有看到 autocommit 在哪里重置为 true,我认为它应该在事务完成后重置。这会在调用 commit() 或 rollback() 方法时自动发生吗?

最佳答案

它不会隐式执行START TRANSACTION,因为它执行临时事务:http://dev.mysql.com/doc/refman/5.0/en/commit.html

使用autocommit(false),任何时候执行写入查询都必须COMMIT 才能在磁盘上永久更新。从那时起,对于该连接中的所有查询都是如此。对于 autocommit(true),如果您使用 START TRANSACTION,运行更新,运行 COMMIT,然后运行另一个更新,两者 更新将立即应用(即不需要第二次 COMMIT)。

autocommit 永远不会重置为 true,但它仅在每个 session (MySQL session ,而不是 PHP session )中设置。

关于php - 提交或回滚是否在 PHP 的 mysqli 中隐式打开自动提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12585760/

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