MySQL事物的概念

事务处理机制,在程序的开发过程中非常重要,可以使整个系统更加安全,保证在同一个事务中的操作具有同步性 比如,人们经常进行的转账操作,转账分为两部分来完成,转入和转出,只有这两部分都完成,才认为转账成功

<h3 id="事务">事务

就是针对数据库的一组操作,可以由一条或多条sql语句组成,同一个事务的操作,具备同步的特点,如果,其中有一条语句无法执行,那么,所有的语句都不会执行 事务中的语句,要么都执行,要么都不执行

<h3 id="开启事务">开启事务

数据库中使用事务,必须先开启事务 START TRANSACTION; 事务开启之后,就可以执行sql语句

<h3 id="提交事务">提交事务

sql语句执行成功之后,需要相应的语句提交事务 COMMIT; 注意,MysqL中,直接书写的sql语句都是自动提交的,但是,事务的操作语句,都需要使用COMMIT语句手动提交,只有事务提交后,其中的操作才会生效

<h3 id="回滚事务">回滚事务

如果不想提交当前事务,可以使用语句取消事务 ROLLBACK; 注意,ROLLBACK语句,只能针对未提交的事务执行回滚操作,已提交的事务是不能回滚的

首先,创建一个名为chapter06的数据库数据库上创建一个account表

这里写<a href=图片描述" title="">

在数据表中,插入相应的数据

这里写<a href=图片描述" title="">

首先,开启一个事务 通过UPDATE语句,将a账户的100元钱,转给b账户,最后提交事务

这里写<a href=图片描述" title="">

查询account表中的余额

这里写<a href=图片描述" title="">

可以看出,通过事务完成了转账功能

注意,上述两天语句中,如果任意一条语句出现错误,都会导致事务不会提交,如果,在事务提交之前出现异常,事务中未提交的操作就会被取消,因此,可以保证事务的同步性

相关文章

目录MySQL卸载环境查看是否已安装MySQL卸载mysql服务查看是否...
目录数据类型数据类型分类数值类型以TINYINT认识整型族有符号...
目录表的约束空属性非空约束(NOT NULL Constraint)默认值定...
目录函数时间日期函数:字符串函数数学函数其他函数 函数 时间...
目录使用C语言连接库的安装C APImysql_initmysql_real_conne...
目录用户用户管理查询所有用户查看当前用户查看当前连接数创...