mysql.h


SET TRANSACTION

SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL
  { READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE }

Asigna el nivel de aislamiento de transacción para transacciones globales, la sesión completa o para la siguiente transacción.

El comportamiento por defecto es asignar el nivel de aislamiento para la siguiente transacción (no comenzada). Si se usa GLOBAL, la sentencia asigna el nivel de transacción global por defecto para todas las nuevas conexiones creadas desde ese punto (pero no para las conexiones existentes). Se necesita el privilegio SUPER para hacer esto. Usando la opción SESSION se asigna el nivel de transacción por defecto para todas las futuras transacciones realizadas en la conexión actual.

InnoDB soporta cada uno de estos niveles desde MySQL 4.0.5. El nivel por defecto es REPEATABLE READ.

Se puede asignar el nivel de aislamiento global por defecto para mysqld con --transaction-isolation=....