0

我有一些功能可以编辑或读取我的数据库。我做的第一件事就开始一个事务,然后我做的最后一件事是提交或回滚它,而不是基于每个功能,这是一个好主意吗?

如果在同一事务中,但在提交之前,是否会读取新值或旧值?

我想要每个页面加载中所有函数调用的事务行为。

编辑:

我只使用简单的单行 sql 语句。所有逻辑都在 php.ini 中完成。

4

2 回答 2

1

使用事务背后的想法是针对所有语句都需要成功或都不应该成功的情况。

如果不使用事务,mysql会将每条语句视为一个事务,并在每条语句之后自动提交(除非禁用自动提交,否则什么都不会发生)。

于 2013-06-02T13:24:16.370 回答
1

如果在同一事务中,则读取新值。这个想法是您可以在提交之前查看更新的结果,它不像事务在您提交之前隐藏更改,它只是允许您在出现问题时撤消更改。

关于是否在每个功能的基础上执行这些操作,这实际上取决于每个人在做什么,以及它们是否影响相同的数据。如果您不需要检查并决定是否提交/回滚直到所有这些都完成,那么只保留一个事务可能很好。

于 2013-06-02T13:24:31.623 回答