Jor*_*rdy 1 php mysql transactions
我阅读了一些关于何时应该使用事务的文章。我读:
什么时候应该使用事务? 基本上任何时候您的工作单元要么对外部更改敏感,要么需要能够在发生错误或其他原因时回滚每个更改。
但是有人可以向我解释得更好吗?
谢谢你的帮助!
当您有一组相互依赖的查询时,将使用事务。
以银行为例:
Start transactionUPDATE accounts SET balance=balance-100 WHERE account='John'UPDATE accounts SET balance=balance+100 WHERE account='Alice'commit事务在您提交之前不会保存。因此,如果任一查询中出现错误,您可以调用rollback并撤消自事务启动以来运行的任何查询。如果由于某种原因向 Alice 添加 100 美元的查询失败,您可以回滚而不是从 John 中扣除 100 美元。这是一种确保您可以在需要时自动撤消查询的方法。
当我执行两个或多个删除/更新/插入查询时,我应该开始一个事务吗?
取决于查询在做什么。
当我只有一个删除/更新/插入查询时,我是否也应该开始一项事务?
除非您需要一种方法来回滚(撤消)查询,就像您想要进行更新并在调用提交(保存)之前验证它一样。
我应该在一个页面上开始交易 10 次,还是整个页面最好只开始一次,或者您是否建议每个页面的最大值(例如 5)?
根据需要开始。我怀疑您是否每页有多个交易,因为您很可能在每个页面加载时做一件事(即转账)。
| 归档时间: |
|
| 查看次数: |
1736 次 |
| 最近记录: |