在单个MySQL事务中可以/应该包含多少PHP代码?在调用其他类和交易方面,交易的最佳做法是什么?单个事务中的方法,操作或创建实例等?
我在这里所说的“包含”是在beginTransaction();
和commit();
之间输入
答案 0 :(得分:1)
我习惯将一个事务用于一个元素及其所有依赖项。
例如,我有一个用户可以更改其昵称的论坛。但他们也可以删除他们的帐户,我不希望看到删除的帖子。因此,我需要在每个帖子中的某个地方保存我的用户名VARCHAR
或类似内容。
如果用户更改了他的昵称,我将开始一个交易,在可能的任何地方更改他的昵称,如果没有错误,那么我承诺。此时我不会查看请求数,因为如果一个请求失败,我应该可以回滚有关此更改的所有内容。
但是如果管理员在管理面板中更改了2个昵称并验证了一次,我将打开2个交易(每个用户一个)以避免单个交易出现问题。