事务处理机制,在程序的开发过程中非常重要,可以使整个系统更加安全,保证在同一个事务中的操作具有同步性 比如,人们经常进行的转账操作,转账分为两部分来完成,转入和转出,只有这两部分都完成,才认为转账成功
<h3 id="事务">事务
就是针对数据库的一组操作,可以由一条或多条sql语句组成,同一个事务的操作,具备同步的特点,如果,其中有一条语句无法执行,那么,所有的语句都不会执行 事务中的语句,要么都执行,要么都不执行
<h3 id="开启事务">开启事务
在数据库中使用事务,必须先开启事务 START TRANSACTION; 事务开启之后,就可以执行sql语句
<h3 id="提交事务">提交事务
sql语句执行成功之后,需要相应的语句提交事务 COMMIT; 注意,MysqL中,直接书写的sql语句都是自动提交的,但是,事务的操作语句,都需要使用COMMIT语句手动提交,只有事务提交后,其中的操作才会生效
<h3 id="回滚事务">回滚事务
如果不想提交当前事务,可以使用语句取消事务 ROLLBACK; 注意,ROLLBACK语句,只能针对未提交的事务执行回滚操作,已提交的事务是不能回滚的
首先,创建一个名为chapter06的数据库 在数据库上创建一个account表
图片描述" title="">
在数据表中,插入相应的数据
图片描述" title="">
首先,开启一个事务 通过UPDATE语句,将a账户的100元钱,转给b账户,最后提交事务
图片描述" title="">
查询account表中的余额
图片描述" title="">
可以看出,通过事务完成了转账功能
注意,上述两天语句中,如果任意一条语句出现错误,都会导致事务不会提交,如果,在事务提交之前出现异常,事务中未提交的操作就会被取消,因此,可以保证事务的同步性