SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL
{ READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE }
本语句用于设置事务隔离等级,用于下一个事务,或者用于当前会话。
在默认情况下,SET TRANSACTION会为下一个事务(还未开始)设置隔离等级。如果您使用GLOBAL关键词,则语句会设置全局性的默认事务等级,用于从该点以后创建的所有新连接。原有的连接不受影响。要进行此操作,您需要SUPER权限。使用SESSION关键测可以设置默认事务等级,用于对当前连接执行的所有将来事务。
要了解对每个InnoDB事务隔离等级的描述,请参见15.2.10.3节,“InnoDB和TRANSACTION ISOLATION LEVEL”。InnoDB支持MySQL 5.1中的各个等级。默认的等级是REPEATABLE READ。
您可以使用--transaction-isolation选项,对mysqld设置初始的默认全局隔离等级。请参见5.3.1节,“mysqld命令行选项”。