一、定义
参考链接:https://blog.csdn.net/VanChaoi/article/details/80779055
- MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!
- 事务(TRANSACTION)是作为单个逻辑工作单元执行的一系列操作 多个操作作为一个整体向系统提交,要么都执行,要么都不执行
事务是一个不可分割的工作逻辑单元
二.事务必须具备以下四个属性,简称ACID属性
- 原子性(Atomicity)事务是一个完整的操作,事物的各步操作是不可分的(原子的),要么都执行,要么都不执行
- 一致性(Consistency)当事务完成时,数据必须处于一致状态
- 隔离性(Isonlation)并发事务之间彼此隔离,它不应以任何方式依赖于或影响其他事务
- 持久性(Durability)事务完成后,它对数据库的修改被永久保持
三、MySQL事务处理主要有两种方法:
<1>用BEGIN,ROLLBACK,COMMIT来实现
BEGIN开始一个事务
ROLLBACK事务回滚
COMMIT 事务确认
<2>直接用SET 来改变MySQL的自动提交模式
默认情况下,每条单独的SQL语句是为一个事务
关闭默认提交状态后,可手动开启 关闭事务
SET AUTOCOMMIT-0禁止自动提交
SET WUTOCOMMIT-1开启自动提交
关闭自动提交后,从下一条SQL语句开始则开启新事务,需使用COMMIT或ROLLBACK语句结束该事务