SET TRANSACTION ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE } SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL { READ COMMITTED | SERIALIZABLE }
这条命令摄制事务隔离级别. SET TRANSACTION 命令为当前 SQL 事务 设置特性. 它对后面的事务没有影响. 这条命令在正在执行的事务使用了第一条查询或者修改数据的语句 (Data Modify Language?)语句后就不能使用了( SELECT, INSERT,DELETE, UPDATE,FETCH, COPY).) SET SESSION CHARACTERISTICS 为一个会话中的每个事务设置缺省的隔离级别. SET TRANSACTION 可以为一个独立的 事务覆盖上面的设置.
事务的隔离级别决定一个事务在同时存在其它并行运行的事务时 它能够看到什么数据.
一条语句只能看到在它开始之前的数据.这是缺省.
当前的事务只能看到在这次事务第一条查询或者修改数据的语句执行之前的数据.
小技巧: 说白了,serializable(可串行化)意味着两个事务 将把数据库保持在同一个状态,就好象这两个事务是严格地按照先后 顺序执行地那样.