事务是一种数据库基本操作
他是为了防止一种很常见的错误而存在的
简单叙述一个需求
张三给李四转账
首先 假设 张三 余额为 9000 李四余额为 5000
张三转账一千 给 李四 那么程序会走三步操作
1 查看张余额是否有一千
2 扣除张三余额一千
3 给李四余额加一千
此时 张三余额 8000 李四余额 6000
但这是正常情况
那么 有一种最坏的情况 第一步 查询张三 余额 大于一千 第二步 张三余额扣除一千 第三步 给李四加余额时 程序抛出异常了
结果就是 张三钱扣了 李四钱没加
为了避免这种情况 就出现了事务程序
当被事务绑定的多个程序 只要一个执行失败 则全部回滚到执行事务程序之前
也就是 扣了张三的钱 如果添加李四余额的操作失败 则张三的钱也会回到扣除之前的数值
简单说 被绑定了事务的 业务逻辑 要么全部成功 要么全部失败