一、什么是事务
事务是一组操作的集合,这组操作要么全部成功,要么全部失败
二、事务操作
开启事务
start transaction
提交/回滚事务
commit/rollback
三、 四大特性ACID
1、原子性(Atomicity)
事务是不可分割的最小操作单元,要么全部成功,要么全部失败
2、一致性(Consistency)
事务完成时,必须使所有事务保持一致
3、隔离性(Isolation)
数据库系统提供的隔离机制,保证事务在不会受到外部并发操作影响的环境下运行
4、持久性(Durability)
事务一旦提交或回滚,它对数据库中的数据的改变将是永久的
四、并发事务问题
脏读
一个事务读到另一个事务还未提交的数据
不可重复读
一个事务先后读取同一条记录,但两次读取的数据不同
幻读
一个事务在按照条件查询时,发现没有对应的数据行,但在插入时发现数据已存在,仿佛出现了幻觉
五、事务隔离级别
用来解决并发事务问题(x表示可以解决对应问题)
查看事务隔离级别
SELECT @@TRANSACTION_ISOLATION
设置事务隔离级别
SET [ SESSION | GLOBAL ] TRANSACTION ISOLATION LEVEL {READ UNCOMMITTED | READ CONNITTED | REPETABLE READ |SERIALIZABLE}