事务:sql
默认事务自动提交数据库
触发时机:测试
DML执行:数据库操做语句的执行,例如insert,update,delete事务
DDL执行:数据定义语句date
SELECT查询后结果集关闭后数据
存储过程执行后(数据结果集返回后,事务关闭)查询
事务隔离4大级别:存储过程
读未提交let
读已提交delete
可重复读
可串行化
不一样隔离级别可能出现的问题
脏读:A事务读,B事务写未提交,A事务能读取B事务没有提交的数据。
不可重复读:A事务读一行记录,B事务修改这条记录,A事务两次读取记录结果不同。
幻读:A事务第一次读全部行记录,B事务添加记录提交,A事务会读到新增这一行记录。
注意:测试4种不能隔离级别,可能发现的问题时,必定记得把Mysql自动提交关闭
隔离级别指令:
设置:
SET [SESSION|GLOBAL] TRANSACTION ISOLATION LEVEL [READ UNCOMMITTED|READ COMMITTED|REPEATABLE READ|SERIALIZABLE]
查询
SELECT @@TX_ISOLATION
自动提交指令:
关闭:
SET AUTOCOMMIT=1
开启:
SET AUTOCOMMIT=0