ArticlesTable->connection(); $articles->save($entity, ['atomic' =>-6ren">
gpt4 book ai didi

cakephp - 为什么 CakePHP 中的自动事务选项称为 "atomic"?

转载 作者:行者123 更新时间:2023-12-04 23:16:00 25 4
gpt4 key购买 nike

我不明白“原子”这个词的意思。例如:

$conn = $this->ArticlesTable->connection();
$articles->save($entity, ['atomic' => false]); // <-- here
$conn->commit();

不应该是“自动提交”吗?

最佳答案

您实际上是在打开/关闭“原子”事务,而不是“自动”事务。

“原子”是正确的术语:

An atomic transaction is an indivisible and irreducible series of database operations such that either all occur, or nothing occurs. A guarantee of atomicity prevents updates to the database occurring only partially, which can cause greater problems than rejecting the whole series outright.



- Wikipedia: Atomicity

关键是“......这样要么全部发生,要么什么都不发生。”

当 atomic 是 false (off) ,并且您运行需要多个查询的保存时,它将单独运行每个查询,并且可能会在某些情况下成功,但在其他情况下不会成功。

当 atomic 是 true (on) ,并且您运行需要多个查询的保存时,它会将它们作为单个事务处理,并且要么全部成功完成要么全部失败。没有部分保存/更新。

关于cakephp - 为什么 CakePHP 中的自动事务选项称为 "atomic"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41896991/

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