我有一些编辑或读取我的数据库的函数。在我做的第一件事情中启动一个事务是一个好主意,并提交或回滚它我做的最后一件事,而不是基于每个功能?
如果在同一事务中但在提交之前,是否会读取新值或旧值?
我想在每个页面加载中对所有函数调用进行事务处理。
编辑:
我只使用简单的单行sql语句。所有逻辑都是在php中完成的。
答案 0 :(得分:1)
使用事务背后的想法是所有语句都需要成功的情况,或者没有成功的情况。
如果你不使用事务,mysql会将每个语句视为一个事务并在每个语句后自动提交(除非你禁用自动提交,否则什么也不会发生)。
答案 1 :(得分:1)
如果在同一事务中,则会读取新值。我们的想法是你可以在提交之前查看更新的结果,它不像事务隐藏更改,直到你提交它们,它只是允许你在出现问题时撤消更改。
关于是否在每个功能的基础上执行这些操作,它实际上取决于每个人正在做什么,以及它们是否影响相同的数据。如果您不需要检查并决定是否提交/回滚,直到所有这些都完成,那么可能只保留一个事务。