一、提出问题:什么是事务?用处是什么?
回答:①事务就是一组sql语句,默认情况下一个SQL语句为一个事务,一个最小的不可再分的工作单元。
② 事务主要用于处理操作量大,复杂度高的数据。
二、事务的特点
- 在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务
- 事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。【银行转账操作(其中一个环节错误,转账便会失败)】
- 一个完整的业务需要批量的DML(insert、update、delete)语句共同联合完成
三、事务满足的四个条件(ACID)
原子性(Atomicity,或称不可分割性)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。
- 原子性:一个事务(transaction)中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。
- 一致性:在事务开始之前和事务结束以后,数据库的完整性没有被破坏。这表示写入的资料必须完全符合所有的预设规则,这包含资料的精确度、串联性以及后续数据库可