前言
Mysql 事务详细描述:https://www.runoob.com/mysql/mysql-transaction.html
要想了解 TP6 事务操作,首先要知道什么是事务(即数据库事务)。
举个例子,我们去银行转账,操作可以分为下面两个环节:
从第一个账户划出款项。
将款项存入第二个账户。
在这个过程中,两个环节是 关联 的。第一个账户划出款项必须保证正确的存入第二个账户,如果第二个环节没有完成,整个的过程都应该取消,否则就会发生丢失款项的问题。
整个交易过程,可以看作是一个事务,成功则全部成功,失败则需要全部撤消,这样可以避免当操作的中间环节出现问题时,产生数据不一致的问题。
数据库事务是一个逻辑上的划分,有的时候并不是很明显,它可以是一个操作步骤也可以是多个操作步骤。我们可以这样理解数据库事物:对数据库所做的一系列修改,在修改过程中,暂时不写入数据库,而是缓存起来,用户在自己的终端可以预览变化,直到全部修改完成,并经过检查确认无误后,一次性提交并写入数据库,在提交之前,必要的话所做的修改都可以取消。提交之后,就不能撤销,提交成功后其他用户才可以通过查询浏览数据的变化。
一、创建数据库表
我们先来创建一个表来模拟一下场景(用于后续代码演示),具体情况如图所示: